Написать в Telegram@Odilient

SAAS

BiliMind

ИИ-генератор курсов для самостоятельного обучения: укажите тему или загрузите PDF и получите структурированный курс с 27 форматами уроков, проверяемой практикой и расписанием занятий.

Собственный продукт
Клиент
Образование
Отрасль
В развитии
Срок
2026
Год
С чего всё началось

Задача

Чат-ассистенты способны составить план курса за считанные секунды, но этот план быстро уплывает вверх по чату, и до конца курс никто не проходит. Нам хотелось создать продукт, в котором сгенерированный курс становится постоянным объектом: структурированным как полноценная образовательная траектория, с подачей материала в форматах под каждый тип знаний, честной оценкой и графиком занятий, вписанным в реальную неделю учащегося. Генерация должна была оставаться недорогой, прозрачной и отказоустойчивой, поскольку полный курс требует десятков медленных вызовов моделей, подверженных сбоям.

Что мы сделали

Решение

Мы разработали BiliMind в виде Laravel API и фронтенда на Nuxt 4 с базой данных PostgreSQL. Идемпотентный пайплайн на очередях уточняет намерения пользователя, формирует структуру курса в виде направленного ациклического графа (DAG) и разворачивает только выбранные уроки, валидируя каждый ответ модели по JSON Schema и логируя токены и стоимость каждого запроса. Уроки объединяют 27 форматов с детерминированной проверкой, оценкой по критериям и исполнением кода в браузере, а планировщик распределяет граф по календарным сессиям, автоматически перестраивая график при пропуске дней.

Технологии
LaravelNuxt 4PostgreSQLVue 3Tailwind CSSOpenRouterDeepSeekPaddleCapacitorCodeMirror
За кулисами

Как всё создавалось

ИИ-генератор курсов, который превращает темы в курсы, которые проходят до конца

bilimind.com — наш собственный ИИ-генератор курсов для тех, кто учится самостоятельно, для преподавателей и для команд. Учащийся называет тему или загружает свои PDF, презентации и конспекты, отвечает на несколько уточняющих вопросов и получает структурированную образовательную траекторию, а не ответ в чате, который уплывает вверх. Каждый урок написан в форматах, подобранных под тип знаний, которые он даёт, проверяется по-настоящему, стоит в календаре и возвращается для интервального повторения.

Публичный сайт описывает продукт так: 27 форматов уроков и 20 языков курсов. Спланировать курс можно бесплатно — платить нужно, только когда хочется получить уроки, написанные полностью. Готовые курсы можно опубликовать по публичному URL, а в каталоге можно посмотреть курсы, написанные целиком.

Ключевые возможности

  • Курс как граф обучения — план курса — это направленный ациклический граф тем и подтем, нарисованный в виде карты-роадмапа, а не маркированного списка.
  • Уроки под тип знаний — каждый урок относится к одному из 11 архетипов знаний, например процедурному, концептуальному или коммуникативному, и от этого зависит, какие из 27 форматов он получит: пошаговые разборы, чек-листы, сравнения, разобранные примеры, флеш-карточки, ролевые диалоги и не только.
  • Проверка, которая действительно проверяет ответ — вопросы с одним и несколькими вариантами ответа и задания с пропусками проверяются детерминированно, эссе и проекты — по критериям, которые генерируются тем же вызовом, что и вопрос, а код — запуском.
  • Задания по программированию в браузере — редакторы CodeMirror 6, а код учащегося выполняется в изолированном Web Worker с жёстким тайм-аутом.
  • Расписание, которое переживёт тяжёлую неделю — граф топологически раскладывается по календарным сессиям и заново уплотняется, если сессию пропустили, поэтому пропущенный день сдвигает план, а не ломает его. Экран «Сегодня» показывает, что пора пройти.
  • Ваши материалы действительно используются — загруженные PDF и конспекты находятся полнотекстовым поиском PostgreSQL, настроенным без стемминга под конкретный язык, потому что курсы бывают на многих языках, и уроки опираются на программу самого учащегося.
  • Правка, переписывание, восстановление — каждое изменение урока — это версия с пословным сравнением и восстановлением в один клик; «Переписать с ИИ» переписывает отдельный блок по инструкции, а удаление теста выводит его вопросы из оборота, не стирая попытки учащихся.
  • Личные пометки — выделения, заметки, рисование пером, текстовые подписи и доски, а также настройки чтения, которые следуют за учащимся на всех устройствах.
  • Веб, мобильные устройства и Telegram — одно и то же приложение работает в вебе, в сборках для Android и iOS на Capacitor и как мини-приложение в Telegram с бесшовным входом.
  • Организации с первого дня — каждый аккаунт — это организация, поэтому одиночный учащийся и школа с множеством мест работают в одной модели.

Архитектура и технологический стек

Бэкенд и пайплайн генерации

API построен на Laravel 13 и PHP 8.3, а единственная поддерживаемая база данных — PostgreSQL; она же обслуживает очередь и кэш. Около 20 групп маршрутов охватывают курсы, генерацию, проверку знаний, расписание, материалы, поиск, изображения, аудио, речь, биллинг, организации и авторизацию через Telegram; токены выдаёт Sanctum, а бэкенд покрыт 164 тестами.

Главное правило архитектуры: каждая дорогая операция выполняется в очереди и идемпотентна. Весь текст генерирует один класс LlmClient: он встраивает JSON Schema в промпт, валидирует ответ, возвращает ошибки валидации модели как корректирующую реплику, повторяет запрос и при каждом вызове — успешном или нет — записывает строку generation_runs с реальным числом токенов и стоимостью. Поверх него работают версионируемые классы промптов и задачи в очереди: ClarifyIntentJob → GenerateOutlineJob → ExpandCourseJob → пакет ExpandNodeJob. Дорогой уровень модели пишет только план курса, потому что именно за структуру стоит платить; более дешёвый уровень разворачивает уроки, перегенерирует их и проверяет ответы. GraphBuilder отбрасывает обратные рёбра, чтобы план оставался ациклическим, и назначает каждому узлу слой по длиннейшему пути — от этого зависит раскладка роадмапа. Прогресс передаётся в браузер через Server-Sent Events, так что держать WebSocket-сервер не нужно.

Текст генерируется через OpenRouter на моделях DeepSeek V4, а переход на собственный API DeepSeek — это одна переменная окружения. По замерам во время разработки план на 12–20 узлов занимал 3–6 минут и стоил около $0,03, а каждый развёрнутый урок — примерно цент. Поэтому уроки разворачиваются по одному и только по желанию учащегося. ИИ-иллюстрации ограничены лимитом на курс и недельным бюджетом, поэтому при их исчерпании урок показывает alt-текст, а не падает на середине.

Фронтенд и мобильные приложения

Фронтенд — Nuxt 4 с Vue 3.5 и Tailwind CSS v4, а также CodeMirror 6, Mermaid для диаграмм и perfect-freehand для рисования. Граф курса — самописный SVG с кривыми Безье, раскладка которого строится по слоям, рассчитанным на сервере. Capacitor 8 упаковывает ту же кодовую базу для Android и iOS.

Биллинг

Основной merchant of record — Paddle, при этом Stripe по-прежнему подключён за биллинговым слоем, не привязанным к провайдеру. Лимиты отдельно учитывают написанные уроки и иллюстрации.

SEO и видимость в поиске

Каждый публичный курс доступен по читаемому URL и содержит микроразметку schema.org/Course. Отдельная карта сайта для курсов, общий композабл usePageSeo для canonical, Open Graph и Twitter-тегов и пинги IndexNow при публикации помогают новым курсам попасть в поиск. Страницы сравнений и руководств («vs. ChatGPT», «vs. Coursera & Udemy», «For teams & schools») отвечают на вопросы, которые люди задают, прежде чем выбрать инструмент для обучения.

Локализация

Генерируемый контент не зависит от языка: уточняющие вопросы, уроки, критерии оценки и обратная связь по проверке приходят на языке курса, и мы проверили весь сценарий от начала до конца на узбекском. Сам интерфейс пока на английском.

Наша роль

BiliMind — наш собственный продукт. Мы спроектировали и построили его целиком — от продуктовой концепции и UX до Laravel API, пайплайна генерации, фронтенда на Nuxt, мобильных сборок, биллинга и мини-приложения в Telegram — и продолжаем развивать и сопровождать его.

Смежные работы

В BiliMind сошлись наши направления внедрения ИИ и автоматизации, разработки веб-приложений и разработки мобильных приложений. Вход через Telegram описан отдельно: «Мини-приложение BiliMind в Telegram». Ещё один наш собственный продукт — Bronjoy, маркетплейс онлайн-записи для Узбекистана.

Демо-видео

Обзор продукта

Создадим вместе

Хотите что-то вроде BiliMind?

Расскажите, что должен делать ваш продукт. Мы определим объём работ, распишем сроки и пришлём фиксированную цену — бесплатно и без обязательств продолжать.

Бесплатная консультация Без обязательств Быстрый ответ