Кейс 10 / 17 · Telegram Mini App · 2026

Episodr

Telegram Mini App для трекинга сериалов и фильмов с интеграцией TMDB, персональными уведомлениями и админ-панелью.

  • Время разработки: 12 дней
  • Строк кода: 8 500+
  • Среднее время ответа API: < 120мс
  • Uptime после запуска: 99%

Задача

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

Решение

Нативный Telegram Mini App в фиолетовой тёмной теме: поиск сериалов и фильмов по базе TMDB, отслеживание прогресса по каждому эпизоду с таймкодами паузы, уведомления о новых сериях через бота, топы и рекомендации, карточки актёров с фильмографией и админ-панель с сегментированными рассылками.

Ключевое

Нативный TG-experience · HMAC-безопасность · TMDB-кэш 30× экономия · Production-ready

Что сделано

  • Трекинг сериалов и фильмов с 4 статусами: Смотрю, Планы, Завершено, Брошено
  • Отметка эпизодов: просмотрено / пропущено / на паузе с таймкодом в MM:SS
  • Массовая отметка всего сезона одной кнопкой с транзакционным апдейтом БД
  • Поиск по TMDB в трёх режимах: сериалы / фильмы / актёры с дебаунсом 300мс
  • Топ TV и кино: Лучшие, В тренде, По жанрам с переключателем типа
  • Рулетка «Что посмотреть?» — случайный выбор из Мои / Планы / Всё с haptic-feedback
  • Похожие сериалы и фильмы, страница актёра с биографией и полной фильмографией
  • Cron-уведомления о новых сериях через бота с обработкой 429 и параллельной отправкой
  • Полная валидация Telegram initData через HMAC-SHA256, rate-limit на все endpoints
  • Админ-панель: метрики, топ контента, поиск юзеров, карточки с их списками
  • Сегментированные рассылки через бота: Все / Активные за N дней / Подписчики сериала
  • Многослойное кэширование TMDB с LRU и разными TTL по типу эндпоинта (2мин–24ч)
  • Виртуализация списков (react-virtuoso), srcset для постеров, WAL в SQLite

Этапы

  1. Анализ и проектирование (1 день) — Изучение TMDB API, проектирование схемы БД, продуктовый прототип в Figma
  2. Фронтенд Mini App (3 дня) — React 19 + Vite + Tailwind 4, фиолетовая темная тема, интеграция @twa-dev/sdk с BackButton, Haptic и safe-area
  3. Бэкенд и БД (3 дня) — Express + better-sqlite3 с WAL, миграции схемы, модульная архитектура (db/tmdb/auth/routes/cron/bot)
  4. Телеграм-интеграция (2 дня) — Long-polling бот с /start и web_app-кнопкой, валидация initData HMAC, cron-уведомления с rate-limit
  5. Админ-панель и рассылки (2 дня) — Статистика, топ, поиск пользователей, сегментированный бродкаст с preview и 25 msg/sec
  6. Деплой (1 день) — Ubuntu + Nginx + certbot, PM2 process-manager, HTTPS, привязка Mini App в BotFather

Следующий проект: Node & Thought