
К 7:40 очередь уже была огромной
Мы приехали на HackAlem AI к 7:40. Перед входом уже стояла огромная очередь. Некоторые ребята были там с пяти утра, а по слухам кто-то решил не рисковать и провёл рядом всю ночь.
Внутрь мы попали примерно к девяти. На тот момент казалось, что стояли долго. Позже стало понятно, что нам ещё повезло зайти довольно быстро и вообще оказаться среди участников.
На площадке собралось около 2 500 человек. И это были не случайные зрители, которые пришли посмотреть на сцену. Вокруг обсуждали идеи, открывали ноутбуки, знакомились и собирали команды. Энергетика была очень крутая. Редко оказываешься в одном помещении с таким количеством людей, которым действительно интересно что-то придумать и сразу попробовать это собрать.
Позже HackAlem AI официально установил мировой рекорд Guinness World Records в категории agentic AI hackathon. В зачёт вошли 2 415 участников. Предыдущий рекорд составлял 2 089 человек.
До начала разработки выступали спикеры. Рассказывали, как распределять время, готовить решение для жюри и работать с ИИ так, чтобы он помогал, а не создавал ещё больше проблем.
В 13:00 появилось задание
До 13:00 мы не знали, что именно придётся делать. Ровно в час дня организаторы опубликовали задания по трекам. Мы выбрали трек 06 «Креативные индустрии» и задачу Firebird про умный подбор подрядчиков.
Суть была простой: Человек указывает параметры мероприятия, а сервис предлагает до трёх подходящих подрядчиков. При этом мало просто отсортировать каталог по цене. Нужно объяснить, почему в выдачу попал конкретный ведущий, фотограф или декоратор.
Были и неприятные сценарии. В выбранном городе может не оказаться нужной категории. Подрядчики могут быть заняты на дату мероприятия. Иногда под условия подходит один человек или вообще никто. В таких случаях сервис должен показать, что произошло, а не подставить случайные карточки ради красивого результата.
Так появилась идея для ToiMatch.
Первые двадцать минут мы вообще не писали код
У меня не подключалась подписка на Codex.
Мы проверяли аккаунт, доступ и саму подписку, пытались понять, где всё сломалось. На обычном проекте двадцать минут ничего бы не решили. Здесь на всю разработку было пять часов, а время уже шло.
Когда доступ наконец появился, можно было сразу разойтись по ноутбукам и начать писать всё подряд. Вместо этого мы на несколько минут остановились и договорились, что именно успеем сделать.
Выглядело это немного забавно. Стулья на площадке были на колёсиках. Мы просто подкатились друг к другу, собрались в маленький круг прямо за столом и начали разгонять идеи.
Всё, что требовало избыточной архитектуры или не помогало решить основную задачу, сразу откидывали. Бронирование, оплата, авторизация и уведомления могли подождать. Сначала должен был заработать сам подбор.
Никита Костров взял frontend. Я занялся backend и AI-логикой. Иван Лысов собирал сценарий продукта, дизайн и тексты. Формат данных зафиксировали заранее, чтобы потом не переделывать обе части приложения при первой сборке.
Пока собирался frontend, backend жил на чёрно-белой странице
Frontend занял довольно много времени. Чтобы не ждать его и параллельно проверять backend, я быстро собрал отдельную техническую страницу. Чёрно-белую, почти без оформления. На ней можно было отправить параметры события, получить ответ и посмотреть, что происходит внутри подбора.
На этой странице мы проверяли основную логику. Сначала сервис отбирал подрядчиков по городу, категории, дате, формату, бюджету, языку и длительности. Потом ранжировал тех, кто прошёл условия. Нейросеть подключалась уже после этого и помогала сформулировать объяснение для каждой карточки.
Мы специально не отдавали модели право решать, свободен ли подрядчик и подходит ли он по цене. Нейросетка может очень уверенно написать то, чего нет в данных. Для демо это иногда выглядит убедительно, но в реальном подборе так могут появиться странные рекомендации и выдуманные факты.
Поэтому каждое объяснение сверялось с карточкой подрядчика. Если подтверждения не было, такой текст не показывался пользователю.
Техническая страница выглядела совсем не презентабельно, зато на ней уже можно было ломать backend, пока остальная часть продукта ещё собиралась.
Первый frontend решили пересобрать
В какой-то момент посмотрели на frontend и поняли, что так оставлять нельзя. Он получался слишком похожим на типичный ИИ-слоп. Формально всё было на месте, но сам интерфейс выглядел безлико.
Решили пересобрать. На хакатоне такое решение кажется немного странным, потому что часы уже идут, а готовая часть продукта снова становится незаконченной. Но показывать результат, который самим не нравится, тоже не хотелось.
На этом потеряли ещё немного времени. Пока frontend переделывался, мы не могли нормально соединить все части и прогнать пользовательские сценарии целиком. Backend продолжали проверять отдельно на той самой чёрно-белой странице.
Когда новый интерфейс был готов, начали подключать функции и проверять всё уже как пользователь: выбор города и даты, поиск одной категории, пустую выдачу, неподходящий бюджет и объяснения в карточках.
Тогда же стало видно, где отдельные части приложения понимают один и тот же запрос по-разному. Что-то исправляли в интерфейсе, что-то в API, что-то в самом диалоге с моделью.
Последние минуты были довольно судорожными
К концу пяти часов основной сценарий работал. После этого началась знакомая ловушка: кажется, что можно успеть ещё одну небольшую функцию. Потом ещё одну.
Мы доделывали последние возможности, проверяли ответы и сразу коммитили изменения. Спокойного финального прогона уже не было. Хотелось успеть допилить сервис ещё немного, хотя времени почти не осталось.
К сдаче ToiMatch умел принимать город, дату, тип события, категорию и бюджет, а затем возвращать до трёх подрядчиков с разными объяснениями. Если результат был пустым, сервис показывал причину. Категории нет вообще или подрядчики есть, но не прошли условия.
Кроме обычной формы мы собрали каталог из 66 анонимизированных профилей, страницы подрядчиков, календарь занятости и чат. В чате можно искать одного специалиста или собирать пакет для всего мероприятия. Интерфейс работает на русском, казахском и английском.
Проект запускается одной командой через Docker. Если API-ключа нет, включается демонстрационный режим. Жюри может пройти основной сценарий локально и не зависеть от нашей подписки или оставшегося баланса.
Место пока неизвестно, а рекорд уже есть
Сейчас жюри ещё проверяет работы. Demo Day запланирован на 29 сентября, награждение пройдёт 1 октября на Digital Bridge. Поэтому красивого финала с шампанским у этой истории пока нет.
Зато есть работающий ToiMatch. За пять часов мы успели пройти путь от задания, которое увидели в 13:00, до сервиса с интерфейсом, базой данных, API и AI-логикой. Где-то по дороге потеряли двадцать минут на подписку, пересобрали frontend и до последних минут пытались добавить ещё несколько улучшений.
Исходный код открыт в репозитории проекта. Там же лежат инструкция по запуску, тестовые сценарии и короткое видео с демонстрацией.
Мы приехали к огромной очереди в 7:40. В тот же день 2 415 участников HackAlem AI вошли в официальный результат Guinness World Records. А у нас к концу хакатона остался продукт, который можно запустить, проверить реальными запросами и попробовать сломать.





