01 · Контекст и задача
К нам пришёл автор образовательного YouTube-канала. У аудитории уже есть привычка учиться по его контенту, и нужно было дать инструмент для запоминания — карточки со словами, понятиями, фактами. Но не «ещё одно приложение, которое надо ставить из стора», а то, что открывается в один тап прямо из Telegram, где аудитория уже сидит.
Задача: Telegram Mini App для изучения карточек. Пользователь тренируется свайпами, у каждой карточки — картинка и при желании озвучка. Контент-автор готовит «фирменные» колоды, а пользователи могут собирать свои. Монетизация — подписка прямо внутри Telegram, без вывода на внешние платёжки.




02 · Что было сложно
- Telegram Mini App — это не «сайт в браузере». Своя авторизация (через Telegram, без логинов и паролей), свой жизненный цикл, своя тема оформления, ограничения WebView на iOS и Android, нативные жесты закрытия. Всё это надо учесть, иначе приложение «ломается» именно в Telegram, а в обычном браузере выглядит нормально.
- Платежи внутри Telegram. Оплата идёт через Telegram Stars и криптовалюту TON — это не Stripe и не ЮKassa с готовыми SDK. Нужно корректно обработать инвойс, подтверждение оплаты от Telegram, активацию подписки и её срок — без шанса, что пользователь заплатил, а доступ не открылся.
- Озвучка карточек без разорения. TTS через ElevenLabs стоит денег за каждую генерацию. Озвучивать одно и то же слово заново при каждом открытии — расточительно. Нужно кэшировать аудио и хранить его так, чтобы оно отдавалось быстро и не пересоздавалось.
- Свободная и платная аудитория в одной системе. FREE-пользователь ограничен (2 колоды, лимит карточек в тренировке, лимит свайпов в день), PREMIUM — без ограничений. Лимиты должны считаться честно на бэкенде, а не «по совести фронта».
Mini App выигрывает там, где обычное приложение проигрывает: ноль трения. Пользователь не идёт в стор, не качает, не регистрируется — он уже внутри.
03 · Решения
Карточка = картинка + мнемоника + озвучка
Каждая карточка двусторонняя: лицо — образ и ассоциация для запоминания, оборот — определение. Картинки генерируются под смысл карточки, а не берутся случайно — это и есть метод мнемоники: запомнить через яркий образ. Любую сторону можно озвучить.


Тренировка свайпами с управлением очередью
В режиме Drilling карточки идут одна за другой. Свайп вниз — «знаю», карточка уходит дальше в очередь. Свайп вверх — «вернуть в начало» для частого повторения. Это упрощённый spaced repetition: то, что плохо помнишь, показывается чаще. Карточки не удаляются — тренировка бесконечная.
Оплата в Telegram Stars и TON
Подписки оформляются прямо внутри Telegram. Несколько тарифов — неделя, месяц, полгода, год, плюс акционные со скидкой 50%. Цена показывается одновременно в Telegram Stars и в TON, оплата проходит без выхода из мессенджера. После подтверждения от Telegram доступ открывается автоматически.
Мультиязычная озвучка через ElevenLabs с кэшем
Озвучка карточек — через ElevenLabs, отдельный голос на каждый язык (английский, русский, испанский, немецкий, французский, итальянский, португальский и др.). Сгенерированное аудио кэшируется и хранится в S3-совместимом хранилище — повторная озвучка того же текста не тратит ни лимиты ElevenLabs, ни время пользователя.
Библиотека и колоды пользователя
Контент-автор готовит публичные колоды — они лежат в библиотеке с обложками. Любую можно скопировать себе одним тапом и тренироваться. Плюс пользователь собирает собственные колоды. FREE-лимиты (число колод, карточек в тренировке, свайпов в день) считаются на бэкенде Laravel — фронт их не может обойти.

Админ-панель для контент-автора
Отдельная веб-админка: дашборд с метриками, управление колодами и карточками (с импортом/экспортом и drag-and-drop сортировкой), настройка TTS-голосов, тарифов, просмотр пользователей и обратной связи. Автор управляет контентом сам, без обращения к разработке.
04 · Результат
Приложение работает в проде стабильно несколько месяцев. Более девяти тысяч пользователей, библиотека из публичных колод автора и тысячи пользовательских карточек. Подписка оформляется в пару тапов прямо в Telegram — без редиректов на внешние платёжки.
Контент-автор полностью управляет проектом через админку: добавляет колоды, настраивает озвучку и тарифы, видит метрики и обратную связь. Наша часть — поддержка, развитие и стабильность.
05 · Что дальше
Проект живой и развивается итерациями: новые форматы тренировки, улучшение алгоритма повторения, расширение библиотеки колод, новые языки озвучки. Mini App обновляется без публикации в сторах — выкатили на сервер, и у всех пользователей сразу новая версия.
Инфраструктура — Laravel + MySQL + Redis в Docker, фронт на React. Добавление новой колоды, голоса или тарифа не требует релиза приложения — всё управляется из админки контент-автором.