Меня зовут Максим, я веб-разработчик. Один из самых масштабных проектов в моей практике — цифровая экосистема для сети фитнес-клубов: сайт с онлайн-записью, мобильное 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
  • Клиенты жалуются: «Я записался в приложении, а меня нет в списке»
  • Приложение вендора не кастомизируется под нужды сети
  • Нет единой аналитики по клиентам

Что сделали

  1. Разработали единый бэкенд (API) с базой клиентов, расписанием, абонементами, бонусной программой
  2. Создали новый сайт на Next.js с личным кабинетом и онлайн-записью
  3. PWA-приложение с QR-пропуском и дневником тренировок
  4. Telegram-бот для записи и напоминаний
  5. Админ-панель для управления расписанием, клиентами, финансами
  6. Интеграция с кассовой системой для приёма оплат
  7. Интеграция с системой контроля доступа (турникеты по 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, единая база, единая авторизация. Тогда добавление новых каналов — вопрос фронтенда, а не переписывания всей системы.

Если хотите обсудить создание цифровой экосистемы для вашего бизнеса — обращайтесь.