Что сделать с помощью вайбкодинга: 15 проектов от простого к сложному

Первый проект часто начинается как «сервис для всех»: с аккаунтами, оплатой, рекомендациями, мобильным приложением и панелью управления. Агент создает несколько убедительных экранов, но потом выясняется, что нужно связать данные, права доступа, внешние сервисы и публикацию. Папка с прототипом растет, а законченного пользовательского действия по-прежнему нет.

Для старта полезнее выбрать не впечатляющую тему, а короткий маршрут. Человек делает одно действие, получает видимый результат, а вы можете повторить проверку после следующего изменения. Тогда проект учит не только просить ИИ написать код, но и управлять данными, ошибками и рабочими версиями.

Ниже 15 учебных идей. Это не кейсы выпускников и не обещание собрать продукт за определенный срок. Проекты расположены по числу зависимостей: от статической страницы и локальных данных до базы, ролей, внешних моделей и фоновой обработки. У каждой идеи есть граница первой версии, чтобы вовремя остановиться и принять результат.

Как читать шкалу сложности

Сложность здесь не означает количество дней работы. Она показывает, сколько частей могут сломаться независимо друг от друга и сколько состояний придется поддерживать после первого запуска.

Перед выбором проекта ответьте на четыре вопроса:

1. Кто выполняет главное действие?

2. Что человек видит сразу после него?

3. Какие данные должны сохраниться после закрытия программы?

4. Что произойдет, если внешний сервис или сеть недоступны?

Ответы образуют минимальный сценарий. Например: «Посетитель выбирает файл, получает преобразованную копию и видит понятную ошибку для неподдерживаемого формата». В такой формулировке уже есть пользователь, действие, результат и один сбой. Дизайн, аккаунты и история операций могут подождать.

Для каждой идеи дальше указаны одинаковые элементы: кому она нужна, минимальный сценарий, критерий готовности, чему учит, следующий технический порог и граница остановки. Критерий готовности должен наблюдаться. «Конвертер работает» слишком расплывчато; «два допустимых файла преобразуются, исходники не меняются, неподдерживаемый файл получает объяснение» уже можно проверить.

Четыре уровня различаются так:

• первый хранит результат в файле или на одном устройстве и не требует постоянного сервера;

• второй добавляет бота, внешний API или фоновый запуск;

• третий вводит постоянную базу, несколько связанных сущностей, расписание или роли;

• четвертый подключает AI-функцию, очередь задач или платный внешний вызов, поэтому требует лимитов и обработки недоступности.

Переходите на следующий уровень только ради нужного поведения. Если личный трекер работает для одного человека на одном устройстве, аккаунт и сервер не делают первую версию завершеннее. Если заявка должна быть видна нескольким сотрудникам, локального файла уже недостаточно.

Выбирайте идею, предметные правила которой можете проверить сами. Для первого проекта не подходят медицинские решения, управление чужими деньгами и хранение чувствительных документов: цена ошибки там выше учебной пользы.

Уровень 1: без постоянного сервера и аккаунтов

Эти проекты не требуют постоянно работающего сервера, но это не делает их одноразовыми макетами. Сохраните исходники в репозитории, добавьте инструкцию запуска и подготовьте безопасные тестовые данные. Проверяйте результат в чистом окне браузера или после нового запуска, а не только в сессии, где агент только что менял код. Если проект обрабатывает файлы, используйте учебные примеры без персональных сведений и убедитесь, что исходник остается неизменным. Набор ручных проверок храните рядом с инструкцией, чтобы повторять его после каждой правки.

1. Личная страница специалиста

Кому нужна: человеку, которому важно одним адресом показать услуги, работы и способ связи. Минимальный сценарий: посетитель открывает страницу, понимает специализацию, смотрит три работы и переходит к контакту. Готово, когда: страница читается на телефоне и компьютере, все ссылки открываются, а содержимое можно обновить по инструкции. Чему учит: структуре интерфейса, адаптивной верстке, работе с файлами и публикации статического сайта. Технический порог: форма обратной связи уже потребует внешнего обработчика или сервера. Где остановиться: без кабинета, CMS, блога и сложной анимации.

2. Конвертер CSV в JSON

Кому нужен: специалисту, который регулярно получает таблицу, а передать данные дальше должен в другом формате. Минимальный сценарий: пользователь выбирает CSV-файл, видит найденные заголовки и скачивает JSON, не отправляя исходник на сервер. Готово, когда: два заранее подготовленных корректных файла преобразуются, исходники не меняются, а файл без заголовков получает понятную ошибку. Чему учит: чтению файлов, разбору данных, проверке входа и созданию результата для скачивания. Технический порог: большие файлы, разные кодировки и пакетная обработка заметно расширят задачу. Где остановиться: один формат на входе, один на выходе, без аккаунтов и истории.

3. Локальный трекер одной привычки

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

4. Чек-лист подготовки события

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

Уровень 2: появляется внешний сервис или фоновый процесс

Здесь результат зависит уже не только от вашего кода. Токены нужно хранить вне репозитория, ответы внешнего API проверять, а фоновый процесс перезапускать после сбоя. Для первой версии выбирайте одну интеграцию и один основной маршрут. Приемка должна включать не только успешный ответ. Заранее создайте контролируемый сбой: неверный город, недоступную ленту или отклоненное сообщение. Интерфейс не должен зависать или сообщать об успехе. В логах оставляйте тип операции и техническую причину, но не секреты и полный пользовательский текст. После перезапуска повторите основной сценарий и проверьте, не возникли ли дубли.

5. Telegram-бот с одним напоминанием

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

6. Погодный помощник для сборов

Кому нужен: человеку, которому перед выходом нужен короткий ответ по выбранному городу. Минимальный сценарий: пользователь вводит город, сервис запрашивает текущие данные у погодного API и показывает температуру, осадки и учебную подсказку по списку вещей. Готово, когда: поддерживаемый город дает ответ с временем обновления, неизвестный город и недоступный API различаются. Чему учит: HTTP-запросам, разбору ответа и обработке внешних ошибок. Технический порог: прогнозы, геолокация и уведомления добавят новые разрешения и состояния. Где остановиться: один запрос без аккаунта и истории.

7. Локальный дайджест одного RSS-источника

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

8. Форма заявки с уведомлением

Кому нужна: владельцу небольшой страницы, которому достаточно получить сообщение без отдельной CRM. Минимальный сценарий: посетитель вводит имя и текст, сервис проверяет поля и передает заявку выбранному почтовому или мессенджерному API. Готово, когда: корректная заявка подтверждается только после принятого внешнего запроса, пустые поля не отправляются, сбой доставки не показывается как успех. Чему учит: серверному обработчику, валидации, защите ключа и ограничению повторных запросов. Технический порог: история и статусы заявок потребуют базы. Где остановиться: без вложений, чувствительных данных, кабинета и автоматической рассылки.

Уровень 3: появляются общая база и права доступа

На этом уровне данные должны переживать замену приложения и быть доступны нескольким сценариям. До кода опишите сущности, связи и частые запросы. Официальное руководство MongoDB по проектированию схемы также начинает с нагрузки и отношений между данными, а не с коллекций ради коллекций. Для учебной версии подготовьте резервное копирование и восстановление на безопасных тестовых записях.

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

9. Каталог личной коллекции

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

10. Мини-CRM для учебных заявок

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

11. Учебный сервис бронирования

Кому нужен: владельцу одного ресурса, например переговорной или учебного стенда. Минимальный сценарий: посетитель выбирает свободный интервал, создает бронь, а владелец видит ее в расписании. Готово, когда: два пользователя не могут занять один интервал, отмена освобождает время, перезапуск не меняет расписание. Чему учит: ограничениям базы, работе со временем и конкурентным изменениям. Технический порог: уведомления, несколько ресурсов и реальные клиенты добавят интеграции и персональные данные. Где остановиться: закрытый тест с вымышленными именами, без оплаты и публичной записи.

12. Кабинет с тремя ролями

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

Если выбранному проекту нужны публикация, совместный доступ или внешнее окружение, локальной версии уже недостаточно: появляются воспроизводимый запуск, деплой и защита секретов. На курсе «Вайбкодинг на максималках» участник выбирает собственный сайт, бот или приложение и проходит Git, работу с Codex, Docker, базу данных, деплой и безопасность. Этот маршрут можно применить к одному заранее ограниченному сценарию; сама программа не определяет границу проекта за участника.

Уровень 4: AI-функция становится частью продукта

Вызов модели добавляет переменную стоимость, задержку и недоступность внешнего сервиса. Длинные операции лучше отделять от пользовательского запроса очередью: интерфейс создает задание, обработчик выполняет его, а пользователь видит статус. Для учебной версии задайте ограничение размера входа, число повторных попыток и максимальный расход на один тестовый прогон. Не отправляйте внешней модели чувствительные или чужие данные.

В техническом журнале сохраняйте идентификатор задания, этап, число попыток и итог, но не полный документ или голосовую запись.

13. Резюме учебного документа

Кому нужно: человеку, который хочет быстро просмотреть длинный открытый материал. Минимальный сценарий: пользователь загружает поддерживаемый текстовый файл, получает статус обработки, затем краткое резюме и основные разделы. Готово, когда: тестовый документ обрабатывается один раз, неподдерживаемый формат отклоняется до платного вызова, сбой модели оставляет задачу с понятным статусом для повторной попытки. Чему учит: загрузке файлов, очереди, ограничению входа и учету внешних вызовов. Технический порог: OCR, пакетная обработка и закрытые документы требуют новых сервисов и правил данных. Где остановиться: один публичный учебный документ, без юридических или медицинских выводов.

14. Поиск по небольшой базе знаний

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

15. Голосовые заметки в черновик задач

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

Как выбрать одну идею из пятнадцати

Начните не с технологии, а с действия, которое уже можете наблюдать. Если знакомый регулярно вручную преобразует таблицу, проект 2 имеет реальную проверку. Если хочется лишь «попробовать базу», но нет понятных записей и запросов, проект быстро превратится в набор экранов.

Используйте четыре фильтра:

Что сделать с помощью вайбкодинга: 15 проектов от простого к сложному

Затем оцените не привлекательность названия, а свою способность принять результат:

• есть ли у вас два корректных примера и один ошибочный;

• можете ли вы проверить предметное правило без мнения агента;

• понимаете ли, какие данные допустимо использовать;

• знаете ли, кто перезапустит процесс и заметит сбой;

• сможете ли вы вычеркнуть следующую функцию до завершения основной.

Если на два вопроса из этого списка нет ответа, возьмите проект предыдущего уровня или уменьшите сценарий. Смена уровня не означает отказ от идеи. Локальный каталог позже может получить аккаунты, форма с уведомлением — историю заявок, а голосовой черновик — интеграцию с календарем. Каждое такое расширение оформляйте как новую версию со своей приемкой.

При равном интересе выбирайте проект с меньшим числом внешних зависимостей и данными, которые легко восстановить. Он быстрее покажет не скорость генерации, а вашу способность пройти полный цикл: описать, собрать, проверить, сохранить рабочую точку и только потом усложнить.

Что сделать перед первой командой агенту

Выберите одну карточку и перепишите ее минимальный сценарий под свою задачу:

[Пользователь] выполняет [одно действие], получает [видимый результат], а после [перезапуска или повторной проверки] результат остается корректным.

Ниже запишите два правильных примера, одну ожидаемую ошибку и список отложенных функций. Затем создайте репозиторий с инструкцией запуска и попросите агента сначала предложить план без изменения файлов.

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