Создание полноценного продакшен-приложения с Claude: что действительно сработало, а что нет

Старший бэкенд-разработчик с многолетним опытом, но без знаний Flutter/Dart создал и выпустил полноценное мобильное приложение Warantly (управление гарантиями) для iOS и Android, используя Claude в качестве основного инструмента разработки. Проект занял 2,5 месяца вечеров после основной работы.
Стек
- Фронтенд: Flutter
- Бэкенд: Laravel 12
- Инфраструктура: Ansible (вся среда VPS описана кодом, воспроизводится одной командой)
Как использовался Claude
Разработчик управлял Claude как способным, но ограниченным по контексту джуниором. Он запускал несколько параллельных сессий, каждую для отдельной задачи:
- Обычно 2-3 сессии одновременно; на пике — 6 (3 бэкенд, 2 Flutter, 1 DevOps)
- Использовал
git worktrees, чтобы сессии могли работать над разными функциями без конфликтов - Его роль: архитектор и интеграционный слой — переключение между сессиями, предоставление контекста, принятие сквозных решений
Что у Claude получалось хорошо
Быстрые, грамотные первые версии хорошо описанных компонентов. Всё, что имело чёткое описание и ограниченную область, возвращалось рабочим с первой или второй попытки. Claude также был хорош в проведении разработчика через незнакомые темы — соблюдение требований магазинов приложений, настройка пейвола, настройка инфраструктуры — то, где нужны были рекомендации, а не просто генерация кода.
Где всё пошло не так
1. Баги UI
Самая большая проблема. Claude не видит экран. Он анализирует код, вносит исправления, уверенно говорит «это должно решить проблему» — а она не решается. Множество раундов одной и той же визуальной ошибки, потому что агент рассуждал о том, что UI должен делать, а не видел, что он на самом деле делает. Обходной путь: много отладочных сообщений, ручное тестирование, передача Claude точного вывода времени выполнения и скриншотов UI. Обратная связь — инструментировать, запустить, сообщить результат — стала стандартным шаблоном для всего визуального.
2. Согласованность между сессиями
Бэкенд-агент мог разработать формат ответа, не совпадающий с тем, что ожидает Flutter-агент. Claude не знает, что решили другие сессии. Разработчику приходилось быть источником истины для контрактов API, общих констант, соглашений об именах — копировать их между сессиями вручную. Когда этот шаг пропускался, при интеграции обнаруживались несоответствия.
3. Потеря контекста в длинных сессиях
Сессия, работающая долго, теряет нить — возвращается к уже отвергнутым шаблонам, противоречит ранее установленным ограничениям. Она не сообщает об этом. Вывод перестаёт быть согласованным с собственной историей. Решение: держать сессии короткими и одноразовыми. Начинать новую, когда старая становится длинной. Критически важный контекст лучше передавать в структурированном виде, а не полагаться на историю разговора.
Что помогло добиться успеха
Разработчик с самого начала ввёл тесты и статический анализ. Он не мог оценить код на Dart/Flutter экспертным взглядом, но автоматические проверки служили гарантом качества. Без этого он не был бы уверен в возможности релиза. «Самое сложное было не техническим — это отказ от контроля. Я опытный разработчик, и это первый проект, где я не просматривал код строка за строкой. Доверие процессу (тесты проходят, линтер чист, поведение корректно) вместо чтения каждой функции — это была настоящая перестройка.»
Приложение
Warantly — управление гарантиями. Отслеживание покупок, хранение фото чеков, напоминания об истечении срока, AI-сканирование чеков, оповещения об отзыве товаров. Бесплатно с неограниченным количеством гарантий. Pro добавляет AI-сканирование, оповещения об отзывах и графики обслуживания. Доступно на warantly.app.
📖 Читать полный источник: r/ClaudeAI
👀 Смотрите также

Altimate Code: Открытый агентный инструментарий для инженерии данных
Altimate Code — это открытый фреймворк, предоставляющий детерминированные инструменты для инженерии данных для AI-агентов, решающий такие проблемы, как галлюцинированный SQL и отсутствие контекста схемы. Он включает отслеживание происхождения на уровне столбцов, обнаружение SQL-антипаттернов и интеграцию с dbt, с показателями производительности 74,4% на ADE-bench.

Столкновение агентов: Арена ММА для тестирования поведения автономных ИИ-агентов
Clash of Agents — это эксперимент, в котором автономные ИИ-агенты соревнуются на арене ММА в пошаговых боях с послематчевым анализом и социальными взаимодействиями. Агенты регистрируются, выбирают боевые дисциплины, тренируют характеристики и сражаются, используя 21 реальный приём ММА и систему комбо.

ClamBot: ИИ-агент выполняет код, сгенерированный LLM, в песочнице WASM для обеспечения безопасности
ClamBot — это фреймворк для AI-агентов, который выполняет весь код, сгенерированный LLM, в песочнице WebAssembly с использованием QuickJS в Wasmtime, устраняя необходимость в вызовах exec() или подпроцессов. Он включает шлюз одобрения для вызовов инструментов, постоянное кэширование скриптов в виде «clams» и поддерживает несколько провайдеров LLM.
PullMD v2.4.1:新增针对claude.ai网页的原生MCP连接器及多用户认证
PullMD v2.4.1 теперь поддерживает диалог пользовательского коннектора claude.ai через OAuth 2.1 + PKCE-S256 и добавляет многопользовательские режимы аутентификации. Превращайте любой URL в чистый Markdown с помощью самоуправляемого MCP.