Перейти к содержимому
PraktickAI
КурсыДля командУслугиДокументацияБлог
КурсыДля командУслугиДокументацияБлог
ГлавнаяБлогКак я с AI построил платформу с 21 курсом за один день
22 марта 2026 г.·12 мин чтения

Как я с AI построил платформу с 21 курсом за один день

behind-the-scenesai-workflowcase-study
Перейти к разделу
  • Отправная точка: консалтинговый сайт
  • Параллельные агенты: пропускная способность 3-5x
  • Воркфлоу: AI как архитектор, я как product owner
  • Что пошло не так
  • Пустые видео-плейсхолдеры в продакшене
  • Дублирующиеся блог-посты
  • Проблемы с миграциями
  • i18n хаос до рефакторинга
  • Рефакторинг i18n: файлы победили базу данных
  • Визуальная QA > юнит-тесты
  • Сегментация аудитории: курсы для людей vs для разработчиков
  • Разбивка расходов
  • Цифры дня
  • Что я выучил
  • Один день — не конец

Сегодня утром у меня был простой консалтинговый сайт. Сейчас вечером — полноценная образовательная платформа с 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-инструментами. Не история как эта статья, а практическое руководство для вашего собственного проекта.

  • Отправная точка: консалтинговый сайт
  • Параллельные агенты: пропускная способность 3-5x
  • Воркфлоу: AI как архитектор, я как product owner
  • Что пошло не так
  • Пустые видео-плейсхолдеры в продакшене
  • Дублирующиеся блог-посты
  • Проблемы с миграциями
  • i18n хаос до рефакторинга
  • Рефакторинг i18n: файлы победили базу данных
  • Визуальная QA > юнит-тесты
  • Сегментация аудитории: курсы для людей vs для разработчиков
  • Разбивка расходов
  • Цифры дня
  • Что я выучил
  • Один день — не конец
LinkedInX / Twitter
Karel Čech

Karel Čech

Разработчик и AI-консультант. Помогаю техническим командам внедрять AI в ежедневный рабочий процесс — от воркшопов до долгосрочных стратегий.

LinkedIn →

Будьте в курсе AI-тенденций

Практические советы по AI для команд разработчиков. Никакого спама, отписка в любой момент.

Подписываясь, вы соглашаетесь с политикой конфиденциальности.

Понравилась статья? Погрузитесь глубже с нашим курсом:

Продвинутый

Создайте веб-приложение с AI

Шаг за шагом: как я создал полноценное веб-приложение с AI — и как это сделать вам.

12 уроков7 часов
Продвинутый
$

Мастерство Claude Code

Освойте все возможности Claude Code — хуки, агенты, worktrees, MCP и паттерны CLAUDE.md.

8 уроков5 часов

Похожие публикации

Новейшие AI-модели в середине 2026: frontier сошёлся, и теперь решает цена

Весной мы сравнивали модели, и каждый месяц колода перетасовывалась. К середине года картина спокойнее — frontier во многом сошёлся, и выбор теперь определяют цена и fit, а не голая мощность.

Spec-driven разработка с AI: сначала план, потом пусть агент строит

Vibe coding отлично подходит для прототипов. Но в продакшене выигрывает другое: написать чёткий spec, дать агенту реализовать его и проверять в нужных точках.

Локальные LLM на своём железе: практическое руководство на 2026 год

Open-weight модели повзрослели настолько, что для повседневных задач разработчика часто их достаточно. Никакого счёта за токены, никакой код не уходит вендору. Вот когда self-hosting имеет смысл — и когда нет.

Готовы начать?

Начните бесплатный курс или узнайте о вариантах обучения для команд.

Записаться на бесплатную консультацию

PraktickAI

AI-обучение и консалтинг для технических команд

КурсыДля командУслугиДокументацияБлог
karel@praktickai.appLinkedIn

© 2026 PraktickAI — SkyVisual s.r.o. Все права защищены. Политика конфиденциальности · Условия использования · Порядок рассмотрения жалоб