Кейс · Денис Кашников · Angular-разработчик

За 7 недель — от пустого репозитория до работающего продукта с подпиской

Приложение «Домомил» я не набирал руками. Код, миграции, CI и деплой сделали AI-агенты под моим контролем: я отвечал за архитектуру, постановку задач и ревью. Продукт живой — domomeal.app.

Что построено

51день от первого коммита до текущей версии
76 000строк кода в 817 файлах
174коммита, 9 минорных релизов
73файла тестов

Планирование недельного меню с генерацией по 11 категориям и скорингом, каталог рецептов с КБЖУ, кладовая со сроками годности, умный список покупок с прогнозом затрат, учёт потребления, семейные аккаунты, фримиум-подписка. Аутентификация через email и VK ID, PWA, интеграция с GigaChat.

Как шла работа

12–28.06.2026
Старт и альфа-версия 0.1.0 — в отпуске, полный день
29.06–02.08.2026
Девять релизов, ребрендинг, прод-инфраструктура — вечерами

Сплошная заливка — полная занятость, штриховка — вечера параллельно основной работе.

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

Стек

ФронтендAngular 21, NG-Zorro, standalone-компоненты, signals, LESS
БэкендNestJS 11, MikroORM 6, PostgreSQL, JWT, VK ID (OAuth 2.1 + PKCE)
ИнфраструктураDocker, Caddy, GitHub Actions, деплой по Blueprint
СтруктураМонорепо npm workspaces: web, api, общие DTO и расчёты
Документация15 500 строк: архитектура, алгоритмы, журнал решений, changelog

Как устроен процесс

  1. Решение фиксируется до кода. Каждая архитектурная развилка попадает в журнал решений: какие варианты рассматривались, что выбрано и почему. Агент работает от этого документа, а не от устного пожелания.
  2. Задача ставится узко. Один слой, понятные границы, явный контракт данных. Широкая формулировка даёт правдоподобный, но неверный код — это основная ошибка при работе с агентами.
  3. Ревью — на мне. Читаю каждый диф. Пятнадцать лет опыта здесь и работают: без них ошибку в скоринге или в миграции просто не видно.
  4. Проверка автоматическая. Линт, типы, тесты и сборка гоняются в CI на каждом коммите. Агент не считается закончившим, пока пайплайн красный.
  5. Документация обновляется вместе с кодом. Иначе следующая сессия агента теряет контекст и начинает противоречить уже принятым решениям.

Что это значит для заказчика

Работа с агентами сжимает сроки в разы, и не за счёт качества: тесты, миграции и документация входят в ту же оценку. Но конкретную цифру я называю по конкретной задаче — после того, как разберусь в проекте и посчитаю. Обещать «неделю вместо месяца» вслепую значит однажды сорвать срок, а это дороже любой скидки.

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

Честные оговорки

Первые две с половиной недели пришлись на отпуск — альфа за 10 дней сделана при полной занятости, а не по четыре часа в день. Всё, что после 29 июня, — вечернее окно.

Репозиторий приватный: это коммерческий продукт с монетизацией. Код показываю на созвоне демонстрацией экрана, включая историю коммитов и пайплайны.

Формат работы

Загрузка40–50 часов в месяц
Часы15:00–19:00 МСК, будни
ОформлениеИП на НПД, договор ГПХ
ОценкаФикс за задачу или 2 000 ₽/час

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