Когда Claude написал код, а инженер довёл до продакшена
Предприниматель собрал работающий сервис закрытых распродаж с помощью AI. Сервис работал — пока не пришли первые сотни пользователей. Разобрали, что пошло не так, и пересобрали за три недели — тоже с AI, но с инженером за рулём.
Предприниматель запустил закрытый клуб распродаж и дропов: лимитированные товары по хорошей цене, доступ по приглашениям, таймеры на покупку. Весь сервис он собрал сам с помощью Claude — от фронтенда до серверной части. И это работало.
Регистрация, каталог, корзина, оплата, личный кабинет — всё функционировало на небольшой аудитории. Человек без технического бэкграунда создал реальный продукт, и это само по себе впечатляет.
Проблемы начались, когда аудитория выросла. Первый крупный дроп — 300 человек одновременно — положил сервис. Но это было только вершиной.
AI написал код, который работает. Но AI не проектировал систему — он отвечал на вопросы по одному, не видя целого. Вот что накопилось.
Архитектура: её не было. Фронтенд, бэкенд, работа с данными — всё перемешано. Бизнес-логика частично на клиенте, частично на сервере, частично дублируется. Секреты API платёжной системы оказались в клиентском JavaScript — прямая дыра в безопасности.
Данные: вместо нормальной базы — набор JSON-файлов. Пока пользователей было 20, это работало. При 300 одновременных запросах — конфликты записи, потеря данных, дубли заказов. Два человека могли купить последний товар одновременно.
Оплата: интеграция с платёжкой была сделана «по первому рецепту из чата» — без проверки вебхуков, без идемпотентности. Часть оплат проходила, но заказ не создавался. Часть заказов создавалась без оплаты.
Деплой: сервис крутился на одном сервере без автоперезапуска. Упал ночью — лежал до утра, пока владелец не заметил. Бэкапов не было. Обновление — через ручную заливку файлов по FTP.
Масштабирование: при наплыве пользователей во время дропа сервер просто не тянул. Никакого кэширования, каждый запрос — чтение файлов с диска.
Всё это — не ошибки AI. AI делал ровно то, что просили. Проблема в том, что никто не задавал правильных вопросов: про конкурентный доступ, про безопасность, про отказоустойчивость, про бэкапы. AI не предупреждает о том, о чём не спросили.
Продукт работал и приносил деньги — закрывать его нельзя. Сроки сжатые: следующий дроп через три недели. Решение — пересобрать ядро, сохранив всё, что работало.
АI использовали снова — но теперь с инженерным контролем. Разница: каждая задача формулировалась в рамках продуманной архитектуры, с конкретным стеком, ограничениями и пониманием, как это будет работать под нагрузкой.
JSON-файлы заменили на PostgreSQL. Все операции с заказами — через транзакции: два человека не могут купить последний товар одновременно. Миграции базы через скрипты — обновления без потери данных.
Платёжную интеграцию переписали: серверная верификация вебхуков, идемпотентные операции, логирование каждого этапа. Оплата прошла — заказ гарантированно создан.
Секреты вынесли из клиентского кода на сервер. Добавили нормальную аутентификацию с хешированием паролей. Разделили фронтенд и бэкенд: Vue.js отдельно, API отдельно.
Деплой: Docker, автоперезапуск, мониторинг. Бэкапы базы — автоматические, ежедневные. Обновление — через git push, не через FTP.
Кэширование горячих данных в Redis: каталог, остатки товаров, активные дропы. Сервер спокойно держит нагрузку дропа.
Фронтенд почти не тронули — он был сделан хорошо. AI отлично справляется с визуалом и интерфейсами. Переписали только вызовы к API под новую архитектуру.
Следующий дроп прошёл без единого сбоя. Сервис выдержал пиковую нагрузку, все оплаты обработаны корректно, ни одного потерянного заказа. Владелец продолжает развивать продукт — теперь с нормальным фундаментом, на котором можно строить.
AI по-прежнему используется в разработке — но как инструмент, а не как архитектор. Код генерируется быстрее, но каждое решение проходит через инженерную проверку.
«Я думал, что AI заменяет программиста. Оказалось, AI заменяет рутину — а программист нужен для решений»
Расскажите, что нужно — разберём и предложу решение.
Обсудить проектБез обязательств • Обычно отвечаю в течение дня
← Все кейсы