Строил один, кодом руками не пишу — всё через Claude Code. Быстро понял, что узкое место не в скорости написания кода, а в том, что фичи получаются работающими по отдельности и нерабочими вместе. Поэтому завёл жёсткий конвейер: на каждую фичу отдельный план с фазами, три вопроса до кода («решает ли проблему / это ли лучшее решение / нет ли кода ради кода»), и правило не писать ни строчки, пока я сам не скажу «реализуй фазу N». Перед деплоем — ревью пачкой агентов, которые пытаются опровергнуть находки друг друга.
Где было больно.
Первое: пришлось убить собственную киллер-фичу. Обещал «цена за 2 минуты», а цена идёт от зарубежного поставщика сутки — инструментом это не ускоряется. Снял метрику целиком, месяц работы ушёл в другое русло.
Второе: собрал систему из работающих экранов, а цикл целиком не проходился — были статусы, до которых физически нельзя было дойти кликами. Обнаружил только когда попробовал пройти путь заказа насквозь.
Третье и главное: посадил живого закупщика поработать — 13 находок, и ни одна не совпала с тем, к чему я готовился. Он вводил данные о коробке, они молча исчезали. Свежая заявка не открывалась вообще ни одной ролью.
Вывод: внутреннее тестирование проверяет, работает ли задуманное. Полевой прогон — работает ли нужное. Это разные вещи.