Клиент — онлайн-школа (маркетинг и SMM, ~400 учеников). Обучение шло в GetCourse + Telegram-чат — ученики путались где смотреть урок и где сдавать тест. Drop-off после 2-й недели ~30%. Задача: Mini App как единая точка входа — список модулей, видео-уроки, тесты с автопроверкой, прогресс-бар, сертификат по завершении. Доступ по invite-link из бота после оплаты. Реализация: • структура курса: модули → уроки → quiz; блокировка следующего без прохождения; • видео: embed или HLS player в WebView; отметка «просмотрено»; • тесты: single/multi choice, порог прохождения 80%, 3 попытки; • progress sync на backend; streak и мотивационные push через бота; • сертификат PDF по завершении; watermark с именем ученика; • админ: загрузка контента, статистика по группам, export CSV. Стек: React, Telegram WebApp SDK, FastAPI, PostgreSQL, S3 (video), aiogram, PDF generation, Docker. Приёмка: полный проход 1 модуля 10 тест-аккаунтами. Итог: drop-off −15%; completion rate первого модуля +22%. NDA: школа не публикуется.