Как я собрал эзотерический Mini App на 100% силами ИИ-агентов (и почему таро-боты — это не только про магию)
Запустил Telegram Mini App для гаданий без программирования за 6 дней.
Введение Я не знаю Python, JavaScript, Docker-файлы и даже не всегда отличую `async` от `sync`. Но у меня есть VS Code, Copilot/Cline, логика продакта и упрямое желание ловить волну. В конце 2025 я запустил Telegram Mini App для гаданий: Таро, нумерология, совместимость по дате/фото. Запуск MVP занял 6 дней. Без найма, без курсов, без строк кода, написанных мной лично. Ниже — честный разбор процесса, факапов, смешных кейсов и цифр, которые получились в итоге. Стек и методология: «вайбкодинг» как производственная система Мой «технологический стек»: - Язык взаимодействия: промпты на русском + английские техтаски для агента - Агенты: Cline (основной кодогенератор), Copilot (дополнение/рефакторинг) - Бэкенд: Python, aiogram 3, FastAPI, sqlite, позже Google Sheets API - Инфра: VPS (Ubuntu), Docker, Nginx, Let’s Encrypt, Cloudflare - Фронт: Telegram Mini App (HTML/JS), Vue 3 + Vite, генерация через промпты - Платежи: Telegram Stars, YooKassa (для веба), тестовые полигоны Как это работало: 1. Я писал ТЗ в формате: Роль-Задача-Ожидаемый результат-Ограничения-ример ответа 2. Агент генерил файлы, я запускал docker compose up, смотрел логи 3. Ошибка-копирую трейс-вставляю агентуполучаю фикс-повторяю 4. Деплой: git push + docker compose pull && docker compose up -d Это не «no-code». Это «prompt-code». Разница в ответственности: за архитектуру, валидацию и продакт-решения отвечаю я. За синтаксис и паттерны — ИИ. Архитектура за 3 дня (как выглядел MVP) User-Telegram Web App (Vue)-/api/v1/reading-FastAPI-AI Provider (OpenAI/Anthropic)-Cache (Redis/SQLite)-Response-UI - Ввод: дата рождения, пол, фото (опционально) - Обработка: промпт-шаблон-LLM-парсинг JSON-верстка в HTML - Доставка: inline-кнопки, шейринг результата, реферальная ссылка - Платеж: Stars за разовый расклад, подписка 399₽/мес за безлимит Всё собралось за 72 часа. Ещё 48 часов ушло на полировку UX и обход багов Mini App bridge. 5 ошибок, которые стоили мне времени и денег 1. Я доверил ИИ async-логику без понимания event-loop Агент написал asyncio.sleep() внутри синхронного обработчика. Бот встал при 10+ одновременных пользователях. Логи молчали, потому что я не подключил логирование aiogram. Как фиксил: принудительно добавил import logging, включил logging.basicConfig(level=DEBUG), попросил агента переписать всё через async def + Semaphore для ограничения параллельных запросов к LLM. 2. Игнорирование rate-limitов провайдера LLM В день запуска пришло 300 запросов. OpenAI отдал 429 Too Many Requests. Бот начал возвращать пустые карточки. Как фиксил: добавил простой Redis-кеш на 24ч (ключ: хеш даты+запроса), поставил очередь на celery`ю (потом упростил до asyncio.Queue), подключил fallback-провайдера. 3. Подписка вместо one-shot Я думал: «LTV вырастет на подписке». Пользователи думали: «Мне нужно одно гадание на сегодня». Конверсия в подписку была 1.2%, отписка на 3-й день — 68%. Как фиксил: перевёл в one-shot за Stars, оставил подписку как «VIP-режим» с расширенными раскладами и приоритетной генерацией. Конверсия выросла до 4.1%, retention до 14 дней. 4. Отсутствие дисклеймера и модерации Telegram не запрещает эзотерику, но Apple/Google при встраивании Mini App в веб-вью требуют предупреждений о «развлекательном характере». Без этого меня бы завернули при попытке интеграции в VK или App Store. Как фиксил: добавил обязательный чекбокс «Результаты носят развлекательный характер» + фильтр на запрещённые темы (здоровье, финансы, суицид) через системный промпт. 5. Версионирование промптов, а не кода Я менял промпты «на лету», не сохраняя историю. Через неделю перестал понимать, почему старый расклад выдавал «Колесницу», а новый — «Повешенный». Как фиксил: вынес все промпты в .json-файлы, добавил Git-коммиты, внедрил простой /admin reload_prompts. Сейчас каждый промпт имеет версию и A/B-тест через флаг в БД. Смешные и неочевидные моменты Таро для разработчиков: Агент однажды сгенерил колоду «IT Tarot» вместо классической. Карты: The 404, Merge Conflict, Legacy Code, The Hotfix». Пользователи смеялись, но конверсия выросла на 12%. Оставил как пасхалку. Фото кота вместо аватара: Пользователь загрузил фото кота на совместимость. LLM выдал: «Ваша аура фелиноидна. Кармический указатель: 9 жизней. Рекомендация: не делитесь едой». Скрин улетел в 3 чата. Виральность ×4. Агент 2 часа дебажил кавычку: SyntaxError: EOL while scanning string literal. Я скидывал трейс, агент предлагал переписать архитектуру, обновить зависимости, сменить ОС. Через час я сам заметил пропущенную " в .env. Агент не виноват — я не дал ему контекст файла. Тестовый платёж, который стал реальным Забыл переключить YooKassa с sandbox на test. Сделал 10 тестовых оплат со своей карты. Деньги списались. Поддержка вернула, но осадок остался. Правило №1: `STARS = sandbox, FIAT = test-mode, LIVE = только после чек-листа`. MVP: 6 дней, 0 строк моего кода, ~1200 промптов -Первый месяц: 42 300 ₽ (Stars + YooKassa), 890 активных, CAC ~0 ₽ (органика + рефералка) - Второй месяц: 118 000 ₽, оптимизация кеша, внедрение A/B промптов - Третий месяц: 154 000 ₽, стабильный retention 14 дней, 22% реферальных продаж - Что не сработало: - VK Mini App (меньше трафика, сложнее модерация) - Подписка как основная модель - Генерация голоса (дорого, долго, пользователи читают)