Клиент — онлайн-школа, которая столкнулась с типичной проблемой масштабирования: на платформе накопилось более 50 коротких видеоуроков (20 секунд — 3 минуты) и 15 длинных вебинаров (60–90 минут). Ожидается рост до 100+ коротких уроков. Прежний исполнитель не смог решить две ключевые задачи: обеспечить моментальную загрузку видео в США, Европе и Азии (сайт тормозил за границей) и организовать удобный личный кабинет с историей покупок, прогрессом просмотра длинных уроков и автоматической выдачей ссылок на Zoom-занятия.
Задача: построить платформу, которая будет работать как Netflix для образования — видео открывается мгновенно в любой точке мира, короткие ролики не подвисают даже на мобильном интернете, а длинные запоминают, где ученик остановился. Плюс — встроенные продажи через Stripe/PayPal и личный кабинет ученика и продавца.
Взяли за основу архитектуру JAMstack + глобальную видео CDN (Bunny.net / CloudFront), чтобы физически приблизить контент к пользователю.
— Реализовали два типа видео: короткие (HLS-сегментация для моментального старта) и длинные (сохранение таймкода в БД — ученик продолжает с той же минуты после перезагрузки).
— Спроектировали модульную систему уроков: администратор загружает видео в облачное S3-хранилище, система автоматически конвертирует в нужные форматы и раздаёт через CDN.
— Разработали личный кабинет ученика: дашборд с прогрессом, список купленных уроков/курсов, история платежей с чеками (PDF), статусы оплаты, автоматические ссылки на Zoom-уроки (через Zoom API).
— Сделали ЛК продавца: статистика по продажам (с разбивкой по странам), управление уроками, создание онлайн-встреч, просмотр списка учеников.
— Подключили международные платежи: Stripe (основной) + PayPal (резерв). Все транзакции логируются, покупатель сразу получает доступ к видео.
— Для безопасности — подписанные URL на видео (ссылки одноразовые, истекают через час), чтобы контент не сливали в открытый доступ.
— Организовали онлайн-уроки: гибридная схема — через Zoom (надёжно и быстро) или встроенный зал на базе LiveKit (по желанию клиента, дороже но без отрыва от сайта).
Весь проект построен на микросервисной архитектуре (Node.js + Nest.js, PostgreSQL, Redis), фронт — Next.js (быстрый SEO для уроков). Виджетная система для ролей (ученик/учитель/админ) позволяет масштабировать платформу без переписывания кода — добавить новую роль можно за 20 минут.
— Скорость загрузки видео из США, Европы и Азии сократилась с 4–6 секунд до 0,3–0,7 секунды (первые кадры). Длинные вебинары (90 минут) стартуют мгновенно — за счёт HLS-потока.
— Короткие видео (20–60 сек) не подвисают даже на мобильном интернете — конверсия в просмотр до конца выросла на 35%.
— Личный кабинет автоматизировал 80% ручных действий: ученик сам видит свои покупки, прогресс, получает ссылки на Zoom-уроки без координации с менеджером.
— Продажи запустили через Stripe — платформа принимает оплату из любой страны (USD, EUR, карты, Apple Pay, Google Pay). История покупок и чеки — в ЛК в одном клике.
— Продавец видит географию продаж и может адаптировать рекламу под регионы, где видео летает лучше всего.
— Платформа готова к масштабированию до 1000 видео и 100 000 пользователей — микросервисы и CDN держат нагрузку без доработок.
Заказчик получил не просто сайт, а готовую EdTech-экосистему, которая продаёт уроки по всему миру не хуже Skillshare или Coursera, но с полным контролем над данными и доходами.