Перейти к содержимому

Что мы делаем

Что уже работает, что в работе, что в плане и что пока только обсуждается.

Ничего из этого не написано потому, что красиво звучит. «Готово» — значит работает в продукте сегодня; «обсуждается» — не обещание.

Войдите в редактор и нажмите «Предложить идею» — читаем каждое.

В работе

делается прямо сейчас
  • Роли и права внутри приложения

    В работе

    Владелец приложения правит его данные всегда; приглашённые им редакторы — тоже; остальные только читают. Право проверяет сервер, поэтому спрятанная условием кнопка — удобство, а не защита. Роль доступна подстановкой {{role}}. Осталось: экран приглашения в редакторе — сейчас список редакторов правится только через API.

В плане

взяли на себя обязательство
  • Рассылки посетителям приложения

    В плане

    Разовое подтверждение заявки клиент уже получает — это сделано. Здесь про другое: написать всем, кто пользовался приложением, — «завтра не работаем», «новая коллекция». Нужен список тех, кто открывал приложение, экран рассылки и ограничения: бот, разославший рекламу всем подряд, блокируется Telegram, и вместе с ним перестаёт открываться приложение. Поэтому не «кнопка отправить всем», а список, согласие и лимиты.

  • Оплата внутри приложения: Telegram Stars

    В плане

    Кнопка «Оплатить» сейчас открывает ссылку, которую владелец создал сам. Stars — первый способ, где счёт выставляется из приложения, а статус заказа возвращается в него же.

  • Экспорт и импорт проекта

    В плане

    Выгрузка project.json уже есть; нужен обратный ход и перенос проекта между аккаунтами — чтобы работа не была заперта внутри одного логина.

  • Совместная работа над проектом

    В плане

    Второй человек в проекте: доступ, роли и понимание, кто что менял. Сейчас проект принадлежит одному аккаунту целиком.

  • История версий и откат

    В плане

    Отмена действий работает внутри сессии. Нужна история опубликованных версий и возврат к предыдущей — на случай, когда «сломалось после вчерашней правки».

  • Напоминания от вашего бота

    В плане

    Напомнить о записи накануне, о брошенной корзине, о том, что абонемент кончается. Технически это тот же ваш бот, который уже подключается и уже пишет подтверждения; не хватает расписания и списка тех, кому можно писать. Счёт выставлять уже можно — см. оплату картами.

Обсуждается

без обязательств и без сроков
  • Постинг в привязанные каналы и чаты

    Обсуждается

    Просили в обратной связи: публиковать записи из приложения в канал или чат. Ближе всего к этому — хранение токена вашего бота: без него постить не от кого. Сроков пока не называем.

  • Формы: ответы на почту

    Обсуждается

    Заявка приходит в Telegram, лежит в редакторе и может писать строку в таблицу приложения или в подключённую Google Таблицу. Письма на почту пока нет — это единственное, чего здесь не хватает.

  • Один человек — один профиль в Telegram и MAX

    Обсуждается

    Спрошено в обратной связи. Идентификаторы у площадок разные и общего между ними нет, поэтому сам по себе один и тот же человек, зашедший из MAX и из Telegram, будет для приложения двумя разными. Связать их можно тем, что человек назвал сам, — номером телефона; ничего другого, что совпало бы у двух площадок и при этом принадлежало бы человеку, а не мессенджеру, попросту нет. Отсюда порядок: сперва спросить телефон, потом сводить профили. Пока номер не дали, два профиля остаются разными — угадывать, что это один человек, мы не станем.

  • Таблица данных как в NocoDB

    Обсуждается

    Колонки тянутся, первая колонка и действия не уезжают, ячейка раскрывается на месте, есть поиск по всем столбцам сразу и упорядочивание по столбцу с возвратом прежнего порядка. Дальше — фильтры и группировка прямо в таблице. Читать чужую базу при этом уже можно: NocoDB, Teable, Baserow и Airtable подключаются как внешний источник.

  • Готовые блоки под задачу

    Обсуждается

    Шаблоны собирают приложение целиком. Между шаблоном и голым холстом не хватает среднего — готового блока «корзина», «запись на время», «отзывы», который кладётся в свой экран.

Готово

работает в продукте сегодня
  • База знаний в редакторе

    Готово

    Сделано частично, и вот честная граница. Справочник живёт в самом редакторе: 61 статья десятью разделами — данные и подстановки, действия, условия показа, экраны и оболочка, оформление, публикация, свой домен, платежи, тарифы, разборы готовых случаев. Открывается из меню «Ещё», по клавише F1, из палитры команд и кнопками «?» рядом с тем, что объясняет; русский и английский. Чего пока нет: видеоуроков, картинок в статьях и раздела справки на самом сайте — то есть до регистрации прочитать его негде.

  • Адрес и маршрут в приложении

    Готово

    Блок «Адрес»: название места, адрес, часы работы, строчка «как найти» и ваше фото — вход, витрина, схема двора. Кнопка внизу открывает карту на телефоне посетителя с маршрутом от того места, где он стоит: Яндекс Карты, Google Maps или 2ГИС на выбор. Адрес можно взять из таблицы подстановкой, тогда у каждого филиала или объекта свой маршрут. Карты с картинкой местности внутри приложения нет и не будет: чужая карта внутри — это чужой код рядом с вашими посетителями, а маршрут всё равно прокладывает навигация на телефоне, и прокладывает лучше.

  • Выбор нажатием — и он доходит до вас

    Готово

    Кнопки и карточки умеют подсвечивать выбранное: пара свойств «Подсвечивать, когда» и «равно значению» рядом с действием «Задать значение» — так собираются выбор мастера, дня, времени, категории места, размера. Выбранное можно дописать к заявке: у действия «Отправить форму» появилось поле «Добавить к заявке», где слева подпись для письма, а справа подстановка. До этого в заявку попадало только набранное руками, и салон получал «Стрижка, 1500 ₽» без дня и часа — приходилось звонить и переспрашивать.

  • Посетитель прикладывает файл

    Готово

    Резюме к отклику, снимок анализа, фото повреждений: посетитель прикладывает файл прямо в форме, и он приходит владельцу ссылкой. Картинки, PDF, документы Word и Excel, RTF, простой текст, CSV и ZIP до 10 МБ. Место считается в тарифе владельца, а файл, на который перестало ссылаться хоть что-нибудь, удаляется примерно через месяц.

  • Звёзды, обратный отсчёт и «в календарь»

    Готово

    Сделано, все три. **Звёзды** — один блок и на показ, и на ввод: без имени поля это оценка из данных, с именем — поле формы отзыва. Половинки рисуются, потому что 4,5 — это среднее по отзывам, а округление до пяти читается как «все довольны». **Обратный отсчёт** до даты из таблицы: у каждой карточки афиши свой. **«В календарь»** — своим файлом события, который телефон кладёт в календарь; раньше кнопка открывала Google Календарь без времени, потому что календарю нужна машинная дата, а в шаблоне лежала человеческая строка. Отсюда одно требование к таблице: дату для счётчика и для календаря храните машинной — `2026-08-12T19:00`; читаемую «12 августа» держите соседним столбцом, её показывают людям.

  • Редактор скажет, что кнопка ничего не делает

    Готово

    Сделано. Полоса экранов помечает значком «Кнопка без действия» экран, на котором есть управление, обещающее нажатие и ничего не делающее, и в подсказке называет их поимённо: «Оформить заказ», «Записаться». Обещанием считается кнопка любого рода и строка списка со стрелкой; строка без стрелки — витрина, она ничего не обещает и в счёт не идёт. Нажимающийся родитель засчитывается: кнопка «Купить» внутри карточки, которая сама открывает товар, ведёт себя так, как ждёт палец. Отдельные экраны из галереи по-прежнему приходят без переходов между вашими экранами — связать их за вас мы не можем, — но теперь вы увидите это сразу, а не от посетителя.

  • Варианты столбца: порядок, цвет, пилюли

    Готово

    Сделано. Варианты столбцов «одно из списка» и «несколько из списка» переставляются перетаскиванием, а цвет пилюли выбирается нажатием на неё — восемь цветов и «по названию», когда подбирать не хочется. Цвет по названию остался тем, что видно без всякой настройки: одно и то же слово окрашено одинаково во всех таблицах. Оба типа столбца теперь рисуются пилюлями и в ячейке, и в выпадающем списке — раньше соседние столбцы одного рода выглядели разнотипно. Цвет, выбранный руками, живёт в редакторе данных: в самом приложении полоса фильтра и карточки берут оформление из своих свойств.

  • Видео с VK Видео, Rutube, Дзена и YouTube

    Готово

    Блок «Видео» понимает адрес страницы, скопированный из адресной строки, и открывает ролик плеером самого хостинга: VK Видео, Rutube, Дзен, YouTube. Прямая ссылка на файл mp4 работает как работала — у неё остаются свои настройки, «Повторять» и «Без звука». У чужого плеера их нет и быть не может: командовать им мы не умеем, и рисовать эти переключатели значило бы обещать то, чего никто не выполнит.

  • Дата и время: формат задаётся там, где выводится

    Готово

    Раньше формат был свойством столбца — один на все места сразу, и под афишу «7 августа», «19:00» и «7 августа, 19:00» приходилось заводить три столбца. Теперь выбор данных, наткнувшись на столбец с датой, спрашивает «Что показывать» (дату, время или и то и другое) и «Как показывать» — списком образцов. Сортировка, фильтры и условия показа при этом продолжают сравнивать машинное значение, а не то, что видно на экране.

  • Фильтр по дням и по времени сеансов

    Готово

    Полоса «Фильтр — чипы» по столбцу с датой раскладывается днями, а теперь ещё и часами: по пилюле на сеанс. Отдельный столбец под это заводить не нужно — это тот же столбец, спрошенный о другом. У полосы есть свойство «Прошедшие дни»: оставлять или убирать, причём сегодняшний остаётся всегда — афиша на сегодня то, за чем и заходят.

  • Поиск и сортировка в таблице

    Готово

    В окне таблицы есть поиск по всем столбцам сразу (появляется от восьми записей) и упорядочивание по столбцу. Даты сравниваются как моменты, числа как числа, «Зал 10» встаёт после «Зала 2», пустое уходит вниз в обе стороны. Сортировка правит документ, а не только вид — порядок строк видит посетитель, — поэтому прежний порядок кладётся в кнопку «Вернуть».

  • Правка записей прямо в приложении

    Готово

    Действия «Изменить запись», «Убрать запись» и «Заполнить форму записью» правят любую запись, включая набранные в редакторе. Кто может — решает сервер: владелец приложения и приглашённые им редакторы данных, остальные только смотрят. Правка записи документа видна в панели данных пометкой «Изменено» с возвратом прежнего варианта: документ переписывается целиком при каждой публикации, и правка живёт наложением поверх строки.

  • Вкладки на одном экране

    Готово

    Блок «Вкладки на экране»: нажатие пишет выбор в переменную, а каждая вкладка — обычный контейнер с условием показа. Это не то же самое, что «Панель вкладок» внизу приложения — та ведёт на другие экраны. Открытая первой подставляется сама, иначе экран открывался бы пустым: ни одно условие не совпало бы.

  • Тёмная тема и переключатель для посетителя

    Готово

    Приложение следует теме мессенджера, а посетитель может решить иначе: действие «Переключить тему приложения» на любой кнопке и готовый блок «Переключатель темы». Выбор главнее мессенджера и переживает перезагрузку. Цвета в оформлении задаются парой — светлый и тёмный, — поэтому чипы, плееры и значки меняются вместе с темой, а не остаются от светлой.

  • Хранение токена вашего бота

    Готово

    Сделано. Токен вводится один раз в диалоге публикации, хранится у нас зашифрованным (AES-256) и в браузер не возвращается — показать его нельзя, можно заменить или отключить. Публикация после этого сама ставит кнопку «Открыть» в вашем боте на новый адрес. Этим же токеном сервер проверяет подпись данных запуска Telegram и отправляет подтверждение вашему клиенту.

  • Оплата картами в вашем приложении

    Готово

    Подключите свою кассу — ЮKassa или Т-Банк — в диалоге «Опубликовать»: нужны ключи из личного кабинета провайдера, они проверяются сразу и хранятся у нас зашифрованными. Дальше на любой кнопке выбирается действие «Принять оплату», сумму можно взять из таблицы подстановкой («{{item.price}}»). Покупатель платит на странице банка и возвращается в приложение; оплата подтверждается ответом провайдера, а не самим возвратом — если человек не вернулся, платёж всё равно досмотрит сверка. Об оплате узнают оба: вы — в Telegram и на экране «Платежи», покупатель — сообщением от вашего бота. Деньги идут напрямую в вашу кассу: продавец — вы, чек выставляет ваша касса по её настройкам, возврат делаете вы в своём кабинете. Мы не держим ваших денег и потому не можем их вернуть.

  • Свой домен для приложения

    Готово

    Сделано. Впишите домен в окне публикации — сервис покажет, что добавить в DNS: для поддомена вроде app.example.com это одна запись CNAME, для адреса без поддомена (example.com) — две. Дальше без вас: мы проверяем записи у серверов вашего регистратора напрямую, минуя кэши, выпускаем сертификат, продлеваем его сами и переставляем кнопку «Открыть» в вашем боте на новый адрес. Когда всё готово, бот вам об этом напишет. Прежний адрес продолжает работать: розданные ссылки и напечатанные QR-коды ничего не теряют. Записи у регистраторов расходятся не мгновенно — обычно 15–30 минут, иногда несколько часов; страницу можно закрыть. В MAX адрес нужно поменять вручную в кабинете партнёра — своего метода у MAX нет. Доступно на тарифах «Про» и «Студия». Владелец открывает своё приложение на своём домене собой, а не посетителем: кнопка «Открыть на своём домене» рядом с подключённым доменом выдаёт разовую ссылку, и кнопки правки записей на месте. Вход на чужом домене отдельный от нашего — браузер не переносит его между адресами, — поэтому ссылка одноразовая и живёт две минуты.

  • Публикация в MAX

    Готово

    Сделано. Опубликованное приложение открывается и в MAX, и в Telegram — сборка одна, адрес один. Регистрация и вход через MAX работают наравне с телеграмными, а подпись запуска проверяется токеном вашего MAX-бота, то есть имя посетителя в заявке — настоящее, а не то, что он написал про себя сам. Чего мы не можем: вставить адрес приложения в бота за вас. У MAX нет для этого метода в API — проверено по всей поверхности, — поэтому адрес вставляется руками один раз в кабинете партнёра. Бот MAX проходит модерацию площадки, до 48 часов по рабочим дням.

  • Внешние источники данных

    Готово

    Таблица приложения наполняется вашей: файлом Excel или CSV, Google Таблицей (по ссылке или через служебный аккаунт, если таблица приватная), книгой на Яндекс.Диске, любым адресом, отвечающим JSON, — NocoDB, Teable, Baserow, Airtable и своим API. Строки обновляются сами, по расписанию и при публикации, а не копируются один раз. Правки из приложения можно писать обратно в Google Таблицу.

  • Связка с n8n, Make и своим сервером

    Готово

    Отдельный коннектор не нужен: события приложения уезжают вебхуком на ваш адрес, а по встречному адресу ваш сценарий кладёт строку прямо в таблицу приложения. Наружу уходят отправленная форма, добавленная и изменённая строка и прошедшая оплата — POST с JSON и подписью, с повторами, если ваш сервер не ответил. Настраивается в меню «Ещё» → «Автоматизация и вебхуки».

  • Связь между таблицами

    Готово

    Предложено в обратной связи. Поле типа «Связь» хранит ссылку на строку другой таблицы: мероприятие указывает на площадку, а не повторяет её название текстом. Разница видна не в день заполнения, а в день, когда площадка переехала: адрес правится один раз, а не в двадцати строках. Поля связанной таблицы можно подставлять — «Площадка → Адрес» — и они предлагаются в выборе данных наравне со своими. Связь разворачивается на один уровень: этого хватает на вопросы, которые задают, и на этом не зацикливается кольцо ссылок.

  • Вывод QR-кодом и поле «случайный код»

    Готово

    Предложено в обратной связи. QR оказался не типом поля, а способом вывода: в таблице лежит обычная строка — её видно и можно сверить глазами, — а компонент рисует из неё код. Значение принимает подстановку, поэтому внутри повторителя каждая строка получает свой QR. Код собирается в самом приложении, без обращения к стороннему сервису. Рядом — тип поля «случайный код»: новая запись сразу получает номер, без нуля и «O», единицы, «I» и «L», потому что его диктуют голосом на входе.

  • Номер телефона посетителя

    Готово

    Спрошено в обратной связи. Приложение умеет спросить номер: окно согласия показывает сам Telegram, номер попадает в подстановку {{user.phone}} и приходит владельцу обычной заявкой. Отсюда же защита содержимого — условие «показывать, если телефон заполнен» закрывает покупку билета или отзыв, пока номером не поделились, а обратное условие прячет приглашение, как только им воспользовались. Отказ — рабочий исход: {{user.phone}} остаётся пустым, и экран обязан работать и для отказавшихся.

  • Визуальный редактор

    Готово

    48 типов компонентов, слои с перетаскиванием и сменой родителя, отмена и повтор, палитра команд, стили проекта и шрифты.

  • Редактор на телефоне

    Готово

    Полноценная работа с телефона: холст во всю ширину, свойства и слои листом поверх, добавление компонентов в зоне большого пальца. С телефона теперь доступны и данные: таблицы, переменные и источники открываются листом «Данные», а окно таблицы показывает запись карточкой — полями сверху вниз, а не сеткой в семнадцать столбцов, в которую на экране телефона видно полтора значения.

  • 16 готовых шаблонов

    Готово

    Магазин, доставка еды, кофейня с самовывозом, запись в студию, медцентр, автосервис, афиша и билеты, фитнес, курсы, недвижимость, туры, вакансии, музыка, сборы, лояльность, портфолио — каждый со своими данными и экранами. Плюс 32 отдельных экрана, которые добавляются к уже собранному проекту. В шаблоне работает всё, что выглядит работающим: на каждый экран есть чем прийти, у каждой кнопки есть действие, а выбор — мастера, дня, времени, категории места — настоящий и уезжает вместе с заявкой. Это проверяется тестом при сборке, а не глазами.

  • Приложение пишет в свои данные

    Готово

    Форма добавляет строку в таблицу, а не только присылает заявку: действие «Добавить запись в таблицу» превращает приложение в админку собственных данных — афишу можно пополнять с телефона. Записи хранятся отдельно от опубликованного документа, поэтому следующая публикация из редактора их не стирает.

  • Свои данные и подстановки

    Готово

    Коллекции с полями, переменные, повторитель с фильтрами и сортировкой. Данные подставляются в любое поле кнопкой со списком, и рядом видно, во что подстановка разворачивается сейчас.

  • Условия и фильтры по времени

    Готово

    Условия показа и фильтры списков умеют «раньше чем» и «позже чем», а подстановка {{now}} даёт текущий момент — со сдвигом: {{now+2h}}, {{now-30m}}, {{today}}. Так собирается «показывать только предстоящее» и «убрать из списка то, до чего меньше двух часов». Даты, набранные словами, сравнению не подлежат: угадав неверно, приложение молча спрятало бы чужое мероприятие.

  • Логика без кода

    Готово

    16 действий — переход, запись в переменную, всплывающие окна, буфер обмена, поделиться, сканер QR, вибрация — и условия показа для любого блока.

  • Публичный план и предложения

    Готово

    Эта страница и форма «Предложить идею» в редакторе. Всё, что предлагают, читается; принятое становится строкой здесь.

  • Формы и заявки

    Готово

    Форма собирает ответы, проверяет их и отправляет владельцу в Telegram; заявки видны в редакторе. В превью видно состав заявки — до всякой публикации.

  • Публикация одной кнопкой

    Готово

    Приложение получает адрес и открывается в Telegram. Черновики хранятся на сервере, поэтому работа не заперта в одном браузере.

  • Загрузка картинок

    Готово

    Свои изображения на нашем хранилище, включая HEIC с айфона: ссылка на чужой сайт перестаёт работать через полгода, а это — нет.

  • Статистика приложения

    Готово

    Сколько человек открыли приложение, какие экраны смотрели и какие события сработали.

  • Переписка с поддержкой

    Готово

    Кнопка «Написать нам» — это переписка, а не письмо в ящик: ответ приходит в Telegram и виден в редакторе.

  • Два языка интерфейса

    Готово

    Редактор целиком на русском и английском.

  • Работа с холстом как в больших конструкторах

    Готово

    У выделенного компонента появилась полоска с именем и действиями: подняться к родителю, добавить внутрь, продублировать, удалить. Контейнер это ровно та область, которую закрывают его дети, поэтому кликом его было не поймать — теперь есть и стрелка, и ⌘⇧+стрелки для прохода по дереву. Компонент можно обернуть в контейнер и развернуть обратно. Текст правится прямо на холсте двойным кликом. Линия при перетаскивании показывает то место, куда компонент действительно встанет, а не соседнее. Замок и глаз в дереве слоёв наконец работают: заблокированный компонент не двигается и не удаляется, скрытый виден в редакторе бледным, а в опубликованном приложении его нет.

  • Свои блоки и общие стили

    Готово

    Собранный кусок экрана — карточку, шапку, блок с кнопкой — можно сохранить как свой блок и ставить снова из панели компонентов. Оформление сохраняется как именованный стиль: поставили его нескольким компонентам, поправили один раз — изменились все. Стиль у компонента один, без наслоения классов друг на друга: списки классов с порядком применения — это профессия, а не конструктор. Блоки и стили лежат в проекте, поэтому уезжают вместе с публикацией и с выгрузкой.

  • Поиск по настройкам, поиск по экрану, история

    Готово

    В панели свойств появился поиск: набрали «скругление» — остались поля про скругление. Работает и на телефоне, в том же листе. Палитра ⌘K теперь ищет не только команды и компоненты, которые можно добавить, но и то, что уже стоит на экране, — набрали имя и перешли к компоненту, даже если он скрыт или заблокирован. История изменений (⌘⇧H) показывает список шагов и возвращает к любому: до этого «отменить» работало вслепую. ⌘S записывает сразу, не дожидаясь автосохранения.

  • Свой компонент: поправил один раз — изменилось везде

    Готово

    Шапка, карточка, блок с кнопкой, которые стоят на пяти экранах, теперь можно сохранить как компонент. Дальше он ставится сколько угодно раз, а правится в одном месте: открыли «Редактировать компонент», поменяли — изменилось везде, где он стоит. Перед правкой прямо на экране написано, скольких копий это коснётся, — чтобы это не выяснялось после. Копии по-прежнему доступны: «Сохранить как блок» кладёт кусок экрана в панель и вставляет его обычной копией, живущей своей жизнью. Разница между этими двумя вещами — единственное, что здесь надо понять, поэтому и списка два, и названы они по-разному. Любой экземпляр можно отвязать, и он станет обычной копией.

  • Свой бот подключается один раз

    Готово

    Раньше токен бота вводили заново при каждой публикации, и нигде не хранили: документ приложения скачивает каждый посетитель, и токен в нём стал бы общим. Теперь токен уходит на сервер, лежит там зашифрованным (AES-256) и привязан к вашему аккаунту, а в браузер больше не возвращается — показать его нельзя, можно заменить или отключить. Публикация после этого сама ставит кнопку «Открыть» в вашем боте на новый адрес: раньше это делалось из браузера вашим же токеном, и одной опечатки хватало, чтобы приложение опубликовалось, но из бота не открывалось.

  • Приложение отвечает клиенту в Telegram

    Готово

    Человек оставил заявку — и сразу получает подтверждение в свой чат с вашим ботом: «Запись принята. Барбершоп свяжется с вами». Пишет ваш бот, а не наш: наш этому человеку не писал и права на это не имеет. Заодно сервер теперь проверяет подпись данных запуска Telegram — до этого имя посетителя приходило из браузера, где оно подделывается открытой консолью, а значит имя в заявке было тем, что посетитель написал про себя сам. Теперь в заявке стоит проверенное имя. Если человек открыл приложение по ссылке, не нажав в боте «Старт», подтверждения не будет — Telegram запрещает боту писать первым, — но заявка всё равно принята и владельцу ушла.

Куда пойти дальше