Меня зовут Максим, я веб-разработчик. Один из самых масштабных проектов в моей практике — цифровая экосистема для сети фитнес-клубов: сайт с онлайн-записью, мобильное PWA-приложение с QR-пропуском и дневником тренировок, Telegram-бот для быстрого бронирования и напоминаний. Три канала — одна база данных, один аккаунт клиента, единый опыт. До этого у сети было: сайт на Tilda, отдельное приложение от стороннего вендора (которое не синхронизировалось с сайтом) и WhatsApp-чат для записи (который вела администратор вручную). Клиент записывался через сайт — а в приложении этой записи не было. Хаос. Расскажу, как я объединяю разрозненные каналы в единую систему.
Зачем бизнесу несколько цифровых каналов
Потому что клиенты разные. Одни предпочитают сайт — зашли, посмотрели расписание, записались. Другие живут в Telegram — написали боту «Запиши на йогу в среду в 19:00» и готово. Третьи хотят приложение — чтобы открыть QR-код на входе, посмотреть историю тренировок, отслеживать прогресс.
Проблема возникает, когда каждый канал — отдельная система:
- Клиент записался через сайт, но администратор не видит эту запись в приложении
- Бонусы начисляются в приложении, но на сайте не отображаются
- В Telegram-боте одни акции, на сайте — другие
- Клиент спрашивает в чате «Когда мне на тренировку?» — а оператор не видит его расписание
Единая экосистема решает это: один бэкенд, одна база данных, несколько фронтендов. Клиент переключается между каналами бесшовно.
Архитектура единой экосистемы
Принцип: один API — много интерфейсов
Я строю архитектуру по принципу «headless»: бэкенд предоставляет REST API (или GraphQL), а каждый канал (сайт, приложение, бот) — это отдельный фронтенд, который обращается к одному и тому же API.
Бэкенд (API). Node.js + PostgreSQL. Все бизнес-данные: клиенты, записи, тренировки, абонементы, бонусы, платежи. Логика авторизации, расчёта скидок, формирования расписания — всё здесь.
Сайт. Next.js. SSR для SEO (расписание, описание услуг, блог), клиентская часть для личного кабинета. Общается с бэкендом через API.
Мобильное приложение (PWA). Progressive Web App — работает как приложение (устанавливается на главный экран, работает оффлайн для базовых функций), но не требует публикации в App Store / Google Play. Общается с тем же API.
Telegram-бот. Node.js + Telegraf (библиотека для Telegram ботов). Обрабатывает команды пользователя, обращается к API для записи, получения расписания, проверки бонусов.
Единая авторизация
Клиент регистрируется один раз — через любой канал. Его аккаунт связан с номером телефона (основной идентификатор). При входе на сайт — авторизация по телефону (SMS-код). В приложении — тот же аккаунт. В Telegram-боте — автоматическая привязка по номеру телефона из Telegram.
Результат: клиент записался через бота → видит запись на сайте → показывает QR-код из приложения на входе. Одна учётная запись, три точки контакта.
Синхронизация данных в реальном времени
Все изменения происходят через API — значит, они мгновенно видны во всех каналах. Клиент отменил запись через сайт — бот автоматически отправляет подтверждение отмены. Администратор изменил расписание в админке — обновление видно и на сайте, и в приложении, и в боте.
Для push-уведомлений в реальном времени: WebSocket (для сайта и PWA) + Telegram API (для бота) + push-нотификации (для PWA через Service Worker).
Что делает каждый канал
Сайт — привлечение и конверсия
Сайт — главный канал для привлечения новых клиентов. SEO-оптимизация, описание услуг, расписание, цены, блог, отзывы. Человек ищет «фитнес-клуб [район]» — находит сайт, смотрит расписание, записывается на пробное занятие.
Ключевые функции на сайте:
- Каталог услуг с описаниями, ценами, фото
- Расписание занятий (интерактивное, с фильтрами по типу, тренеру, времени)
- Онлайн-запись и оплата
- Личный кабинет (история, бонусы, абонемент)
- Блог с экспертным контентом (для SEO)
- Страница акций
Приложение (PWA) — удержание и вовлечение
Для существующих клиентов: быстрый доступ к расписанию, QR-код для прохода, дневник тренировок, push-напоминания.
Почему PWA, а не нативное приложение:
- Не нужна публикация в сторы (экономия 2–4 месяцев и сотен тысяч рублей)
- Работает на любом устройстве (iOS, Android, десктоп)
- Обновляется мгновенно (без ожидания модерации App Store)
- Устанавливается с сайта одним кликом
Ограничения PWA: на iOS push-уведомления поддерживаются с iOS 16.4 (2023), но не все пользователи обновились. Для критичных нотификаций дублирую через Telegram или SMS.
Telegram-бот — скорость и удобство
Для тех, кто не хочет открывать сайт или приложение. Сценарии:
- «Запиши меня на йогу в среду в 19» → бот проверяет расписание, бронирует место, подтверждает
- «Когда моя следующая тренировка?» → бот выдаёт ближайшую запись
- «Сколько бонусов?» → бот показывает баланс
- Автоматические напоминания за 2 часа до тренировки
- Уведомления об акциях и изменениях расписания
Telegram Mini App — расширенный вариант: внутри Telegram открывается мини-приложение с полным интерфейсом записи, оплаты, расписания. Гибрид между ботом и приложением.
Пример из практики: сеть фитнес-клубов
Исходная ситуация
3 клуба, 2 800 активных клиентов. Сайт на Tilda (без личного кабинета), стороннее приложение (которое постоянно глючило и стоило 80 000 руб/мес), WhatsApp-чат с администратором.
Проблемы:
- Данные не синхронизированы между каналами
- Администратор тратит 4 часа в день на ручную обработку записей из WhatsApp
- Клиенты жалуются: «Я записался в приложении, а меня нет в списке»
- Приложение вендора не кастомизируется под нужды сети
- Нет единой аналитики по клиентам
Что сделали
- Разработали единый бэкенд (API) с базой клиентов, расписанием, абонементами, бонусной программой
- Создали новый сайт на Next.js с личным кабинетом и онлайн-записью
- PWA-приложение с QR-пропуском и дневником тренировок
- Telegram-бот для записи и напоминаний
- Админ-панель для управления расписанием, клиентами, финансами
- Интеграция с кассовой системой для приёма оплат
- Интеграция с системой контроля доступа (турникеты по QR-коду)
Результаты (6 месяцев после запуска)
- Время администратора на обработку записей: с 4 часов до 30 минут в день
- Онлайн-записи: 78% всех записей (было 25%)
- Распределение по каналам: сайт — 40%, приложение — 35%, бот — 25%
- Отказ от стороннего приложения: экономия 80 000 руб/мес = 960 000 руб/год
- NPS клиентов: вырос с 42 до 67
Стоимость и сроки
Минимальная экосистема (сайт + Telegram-бот, единый API). Для малого бизнеса. Срок: 2–3 месяца. Бюджет: 600 тысяч — 1,2 миллиона рублей.
Полноценная экосистема (сайт + PWA + бот + админ-панель + интеграции). Срок: 4–7 месяцев. Бюджет: 1,5–4 миллиона рублей.
Enterprise (мультифилиальная система, мобильное нативное приложение, сложные интеграции, AI-агент). Срок: 6–12 месяцев. Бюджет: от 4 миллионов рублей.
Поддержка: 50–150 тысяч рублей в месяц.
С чего начать
Не нужно строить всё сразу. Начните с двух элементов: сайт с личным кабинетом + Telegram-бот. Это покрывает 90% сценариев при минимальных затратах. PWA-приложение добавите позже, когда база клиентов и функционал дозреют.
Главное — заложить правильную архитектуру с самого начала: единый API, единая база, единая авторизация. Тогда добавление новых каналов — вопрос фронтенда, а не переписывания всей системы.
Если хотите обсудить создание цифровой экосистемы для вашего бизнеса — обращайтесь.