Как я с AI построил платформу с 21 курсом за один день
Перейти к разделу
Сегодня утром у меня был простой консалтинговый сайт. Сейчас вечером — полноценная образовательная платформа с 21 курсом, 119 уроками, 24 блог-постами, аутентификацией, платежами и трекингом прогресса. Всё работает в продакшене. Весь бэкенд обходится менее чем в 10 EUR в месяц.
Это не туториал. Для этого есть курс. Это история о том, что реально произошло — включая все ошибки, тупики и моменты, когда я думал «это никогда не должно было попасть в продакшен».
Отправная точка: консалтинговый сайт
Я начинал с фронтенда на Next.js и бэкенда на Django. Фронтенд на Vercel (бесплатный план), бэкенд на k3s-кластере на Hetzner VPS за 3,49 EUR/мес. Стек выбран осознанно — Next.js для SEO и скорости, Django для API и админки. Никакой оверинжиниренной архитектуры, никакого Kubernetes на AWS. Просто VPS с контейнером.
Основной инструмент: Claude Code с моделью Opus 4.6. Никакого Cursor, никаких расширений VS Code. Чистый терминал, чистые промпты, чистая обратная связь.
Параллельные агенты: пропускная способность 3-5x
Это был самый большой продуктивный unlock дня. Вместо одного агента Claude, делающего всё последовательно, я запустил 2-4 агента одновременно в отдельных панелях tmux. Один пишет курсы, другой создаёт блог-посты, третий рефакторит фронтенд, четвёртый проводит QA.
# My typical tmux layout:
# Pane 1: Agent writing developer courses
claude "Create course ai-agents-devs with 7 lessons..."
# Pane 2: Agent writing blog posts
claude "Write 6 blog posts about AI for developers..."
# Pane 3: Agent doing i18n refactoring
claude "Move _cs/_en fields to file-based content..."
# Pane 4: Me reviewing outputsКритическая деталь: агенты работали над разными файлами. Курсы шли в src/content/courses/, блоги в src/content/blog/, рефакторинг затрагивал компоненты. Минимум конфликтов. Когда что-то пересекалось, один агент ждал.
Реальное время на 21 курс со 119 уроками? Около 4 часов. Последовательно заняло бы полтора дня. С параллельными агентами — одно после обеда.
Воркфлоу: AI как архитектор, я как product owner
Я не позволил AI принимать продуктовые решения. Я определял: какие курсы, для кого, сколько уроков, какая сложность, сколько стоит. AI получал чёткое задание и выдавал реализацию. Когда не устраивало — давал обратную связь и Claude переписывал.
В этом принципиальное отличие от «vibe coding». Я не сказал «построй мне что-нибудь». Я сказал «построй точно это, с этими ограничениями, в этом формате». Product owner определяет ЧТО и ЗАЧЕМ. AI реализует КАК.
Каждый промпт заканчивался шагом верификации. «Запусти сборку». «Проверь, что JSON валиден». «Убедись, что все slug-и уникальны». Без этого AI не знает, работает ли результат.
Что пошло не так
Было бы нечестно писать только об успехах. Вот список того, что не получилось — некоторые вещи дошли до продакшена.
Пустые видео-плейсхолдеры в продакшене
Агенту поручили добавить YouTube-видео в уроки. Вместо того чтобы добавить только реально существующие видео, он создал video-placeholder блоки с выдуманными YouTube ID. Результат: уроки в продакшене со сломанными видеоплеерами. Это не технические ошибки — сборка прошла, тесты прошли. Это контентная проблема, которую можно обнаружить только визуальной проверкой.
Дублирующиеся блог-посты
Когда запустил двух агентов на создание блог-постов одновременно, оба создали пост о «AI для код-ревью». Разные названия, разный контент, но одна тема. Обнаружил только при ручной проверке. Параллелизация работает — но нужно чёткое разделение территории, а не просто «напиши что-нибудь об AI».
Проблемы с миграциями
Бэкенд на Django имел миграции, не совместимые с откатом. Агент создал миграцию, добавляющую колонку и одновременно меняющую данные. При откате данные пропали. Урок: всегда разделять миграции схемы и миграции данных.
i18n хаос до рефакторинга
Изначально каждый JSON-файл имел поля вроде title_cs, title_en, description_cs, description_en. Работало для двух языков. Но когда я понял, что могу добавить немецкий или испанский, стало ясно — подход не масштабируется. В итоге перешёл на структуру с объектами cs: {} и en: {} — чисто, расширяемо, каждый язык — самостоятельный блок.
Рефакторинг i18n: файлы победили базу данных
Это решение заслуживает отдельной секции. У меня было два варианта для переводов: хранить в базе данных (Language model + таблицы переводов) или файловый подход (JSON-файлы с объектами cs/en).
Я выбрал файлы. Почему? Потому что контент курсов и блога меняется редко. Мне не нужно редактирование в runtime. И файловый подход имеет огромное преимущество: Claude Code может читать и редактировать JSON-файлы напрямую. Если бы переводы были в базе данных, каждое изменение требовало бы API-вызовов, миграций и деплоя бэкенда. С файлами агент просто открывает JSON, правит текст — и готово.
// Before refactoring (did not scale):
{
"title_cs": "AI pro zacatecniky",
"title_en": "AI for beginners",
"description_cs": "...",
"description_en": "..."
}
// After refactoring (cleaner):
{
"cs": {
"title": "AI pro zacatecniky",
"description": "..."
},
"en": {
"title": "AI for beginners",
"description": "..."
}
}Рефакторинг затронул сотни файлов. Claude Code справился за одну сессию — включая обновление всех компонентов, читающих эти файлы. Вручную это заняло бы дни.
Визуальная QA > юнит-тесты
Спорное мнение, но для веб-приложений визуальное тестирование важнее юнит-тестов. Юнит-тесты ловят, когда функция ломается. Не ловят, когда кнопка «Купить курс» не того цвета, текст вылезает за край или страница рендерится с пустым содержимым.
Все мои худшие баги дня были визуальными. Пустые видеоплееры, пропущенные тексты на чешском, сломанная вёрстка на мобильном. Ни один юнит-тест не поймал бы. Их обнаружил человек, посмотревший на страницу.
Мой воркфлоу: после каждого крупного пуша запускаю Playwright e2e-тесты (86+ тестов), но главное — открываю браузер и прохожу 10 критических страниц вручную. Занимает 5 минут, ловит 90% проблем.
Сегментация аудитории: курсы для людей vs для разработчиков
Изначально все курсы были в одном списке. 21 курс на одной странице — слишком много. Решение: сегментация аудитории. Курсы для индивидуальных пользователей (AI Start, AI в офисе, AI для фрилансеров) и курсы для разработчиков (AI Workflow, Prompt Engineering, AI в продакшене). Каждая группа — своя карточка на главной и свой фильтр в каталоге.
Это решение пришло только после того, как все 21 курс были готовы. На старте я не подозревал, что сегментация понадобится. Такова реальность создания с AI — темп настолько быстрый, что продуктовые проблемы всплывают после готовности контента, а не на этапе планирования.
Разбивка расходов
Это всегда интересует. Сколько всё стоит?
- Vercel (хостинг фронтенда): $0/мес (бесплатный план, более чем достаточно)
- Hetzner VPS (бэкенд, k3s): 3,49 EUR/мес (CPX11, 2 vCPU, 2 ГБ RAM)
- Домен: ~10 EUR/год
- Claude API (разработка): порядка десятков долларов за интенсивный день
- Resend (email): $0/мес (бесплатный план, до 100 писем в день)
- Итого: менее 10 EUR в месяц за продакшен
Никакого AWS, никакого managed Kubernetes, никакого хостинга за $50/мес. VPS с контейнером, Vercel для фронтенда — и готово. Для bootstrapped-проекта идеальный сетап — масштабироваться можно потом, когда будет выручка.
Цифры дня
Для точности, вот сводка того, что было создано за один день:
- 21 курс с уникальным контентом
- 119 уроков (каждый 800-1500 слов, структурированные с блоками кода, упражнениями, советами)
- 24 блог-поста (1000-2000 слов, на чешском и английском)
- i18n рефакторинг сотен файлов
- Сегментация аудитории (индивидуальные vs разработчики)
- YouTube-видео интегрированы в уроки
- 86+ Playwright e2e-тестов
- Полный auth-flow (Google + LinkedIn OAuth)
- Платёжный шлюз (Comgate, мок в dev)
- Трекинг прогресса (visited + completed + sync)
Не идеально. Есть ещё плейсхолдерные отзывы, нет кастомного домена, сертификаты о прохождении курсов в планах. Но это продакшен-приложение, которое работает, имеет контент и готово к первым пользователям.
Что я выучил
После полного дня интенсивной работы с AI-агентами я вынес несколько уроков, которым не научит ни один туториал.
- Параллельные агенты работают, но нуждаются в чётко определённой территории. Два агента на одних файлах = хаос.
- Визуальная QA — король. Когда сборка прошла, а страницы выглядят плохо — сборка не спасёт.
- AI отлично справляется с объёмом, но не с уникальностью. 21 курс имеет стабильное качество, но и стабильный «голос». Ручная правка самых интересных частей — необходимость.
- Файловый контент > контент в БД для статического контента. AI-агенты работают с файлами, а не с базами данных.
- Меньше инфраструктуры = быстрее итерации. VPS за 3,49 EUR деплоится быстрее любого managed service.
Один день — не конец
Построить платформу за день не значит, что она закончена. Контент нуждается в ревизии, видео часто плейсхолдеры, некоторые переводы требуют доработки, весь платёжный flow ещё ждёт продакшен-учётных данных. Но фундамент стоит — и это то, что AI меняет. Вы не строите месяцами, прежде чем показать что-то. Вы строите день, потом итерируете.
Завтра буду исправлять видео-плейсхолдеры, ревьюить чешские переводы и настраивать кастомный домен. Но сегодня? Сегодня я с AI построил то, что год назад заняло бы три месяца.
Хотите освоить эту методологию пошагово? Ознакомьтесь с курсом «Build a Site with AI» — 8 уроков от старта проекта до деплоя, всё с AI-инструментами. Не история как эта статья, а практическое руководство для вашего собственного проекта.
Karel Čech
Разработчик и AI-консультант. Помогаю техническим командам внедрять AI в ежедневный рабочий процесс — от воркшопов до долгосрочных стратегий.
LinkedIn →Будьте в курсе AI-тенденций
Практические советы по AI для команд разработчиков. Никакого спама, отписка в любой момент.
Понравилась статья? Погрузитесь глубже с нашим курсом:
Похожие публикации
AI-агенты в 2026: что изменилось и как их используют разработчики
От чата к автономным агентам. 55% разработчиков регулярно используют AI-агентов. Что это значит для вашего рабочего процесса и с чего начать.
Большое сравнение AI-моделей 2026: Claude, GPT, Gemini, Llama и другие
Какую AI-модель использовать в 2026? Сравниваем цены, контекстные окна, возможности и лучшие кейсы для каждой модели.
AI и технический долг: парадокс, определяющий 2026 год
AI может ускорить разработку в 10 раз — но также в 10 раз ускорить создание технического долга. 75% компаний уже имеют средний или высокий уровень долга из-за AI. Как выйти из этого цикла.
Готовы начать?
Бесплатная 30-минутная консультация — вместе определим, где AI больше всего поднимет уровень вашей команды.
Записаться на бесплатную консультацию