Раз уж предыдущий пост собрал столько реакций, рассказываю продолжение — что, где и как я делал, и во что успел влететь 😄
🧠 Antigravity + Gemini 3 — неожиданная любовь
Первый продукт я делал не в Cursor, а в новой IDE от Google — Antigravity. Интерфейс как у VS Code, но главное — там работает Gemini 3, и это реально лучший помощник для кода, что я пробовал в этом году. Он почти не уходит в циклы, хорошо держит контекст, пишет аккуратно и быстро приходит к рабочим решениям. Минус только один — иногда «делает вид», что всё ещё думает, хотя уже закончил, и его приходится слегка подталкивать рукой 😅
🤖 Сборка бота: от ТЗ до рабочих флоу
Требования я сформировал с помощью ChatGPT, дальше загрузил всё в Antigravity — и IDE довольно быстро собрала базовый флоу Telegram-бота. Дальше начались приключения.
💸 Юкасса и UX, который пришлось переделывать
ИИ уверял меня, что Юкасса умеет отправлять чек по SMS. Спойлер: нет. Только email. Пришлось полностью менять UX: теперь бот запрашивает почту, и если пользователь её не вводит — чек не уйдёт. Неидеально, но честно.
🧵 Главная техническая боль: блокировка сервиса
И тут я словил самый странный баг: если один пользователь открывал платёжную сессию, весь сервис синхронно зависал, и остальные запросы просто не проходили. Решение:
- • вынести Юкассу в отдельный сервис,
- • сделать взаимодействие асинхронным.
После этого бот, наконец, ожил 🙌
🗂 SQLite → PostgreSQL: миграция как маленькое приключение
Когда делаешь MVP локально — зачем поднимать PostgreSQL? Берёшь SQLite, всё просто. Проблема начинается, когда ты уже настроил услуги, протестировал логику и хочешь перенести всё на Railway. Ручками забивать данные? Нет уж. В итоге я написал питоновский скрипт для миграции из SQLite в PostgreSQL — и успешно перенёс все данные. Теперь я ещё и «миграции» могу добавить себе в резюме 😉
⚡ Что есть сейчас
Бот уже стабильно работает:
✔ принимает платежи через Юкассу
✔ управляет услугами и категориями
✔ отправляет чеки
✔ выдаёт доступы после оплаты
✔ живёт на Railway и не падает каждые 5 минут
Это мой первый полноценный опыт боевого вайб-кодинга, и, честно говоря, я втянулся.
Stay tuned 🚀