Мой опыт хакатона от Алабуги: 10 дней, бэкенд и ловушка VPN
Раньше я думала, что хакатоны – для людей, которые уже умеют всё. Сходила на свой первый и поменяла мнение.
Дано: задача от ОЭЗ «Алабуга»: тренажёр переговоров. Нас в команде пятеро незнакомых друг другу людей, на всё про всё 10 дней. Получилась «Вершина» – Telegram Mini App, где можно блефовать с ИИ-собеседником, а он при этом не выдумывает факты. Как устроен продукт, подробно рассказала наш продакт Янина Шкypoпaт, ссылка в конце.
За мной был бэкенд: API, подключение ИИ, интеграция с Cognico.ru, весь деплой и технические решения. Плюс граница скоупа, что успеваем и что нет, решалось через меня.
Самая хитросплетенная проблема оказалась не в коде, а в маршрутизации запросов. Telegram в России заблокирован, в Mini App заходят с VPN, а сервер стоял в Яндекс.Облаке, которое с включённым VPN недоступно. Чтобы открыть Telegram, VPN нужен, чтобы загрузилось приложение, его надо выключить. Выход нашёлся в зеркале на Deno Deploy: через него идут Mini App, вебхук бота и запросы к Groq, который с нашего сервера отвечал 403.
Скоуп резала в основном я, и это было грустно и невкусно. Геймификация осталась заглушкой (бейджи и ачивки есть в интерфейсе, но не считаются), метрики сократили до девяти чисел и трёх разборов. Голосовой режим уехал за пределы MVP, а я его очень хотела. Зато у приложения есть куда расти. Под конец под угрозой оказалась интеграция с Cognico, наш УТП, но мы успели.
Что мешало: – макеты менялись по нескольку раз, и вычеркнутое мной возвращалось на макеты и во фронт; – на основной работе в эти же дни был сущий кошмар, поэтому хакатон я делала ночами, по 14 часов за компом без перерыва; – к концу закончились недельные лимиты в Claude Code, я с ужасом ждала критичного бага, а чинить было бы нечем. Спойлер: крит так и не вылез :) – не хватало эксперта по DS и ML, в следующий раз на хакатоне по ИИ-продукту хочу такого человека в команду, но это, конечно, влажные мечты.
Первые два дня я ждала зелёного света на разработку бэка. Потом поняла, что на хакатоне его никто не даст, и села писать без макетов, без фронта и с условными границами скоупа. Без бэка оно бы не завелось.
Лучший момент – когда сшили фронт с бэком, и ничего не упало. Я смотрела на результат и думала «офигеть, МЫ это сделали за 10 дней».
В финал не прошли, я этого отчасти ждала. Зато хакатон стал мощным пинком: дедлайн не бесконечный, полениться и отложить нельзя, на перфекционизм нет времени. Делаешь быстро и сердито, но по-настоящему. Ещё он познакомил меня с замечательными людьми и показал мои реальные возможности.
Всю дорогу я думала, что сольюсь и не смогу. А потом просто взяла и сделала, и гора, которая казалась неприступной, оказалась совсем не такой страшной. Буду помнить об этом, когда следующая цель покажется недостижимой.
Разбор от Янины: https://habr.com/ru/articles/1098650/