4 июля в Республике Алтай начался топливный кризис: на заправках выстроились очереди. Бэкенд-разработчик на Java, живущий в регионе, решил создать бота в MAX для поиска ближайших АЗС с топливом. Вдохновением послужил сайт gdebenz.ru, который показывал наличие топлива на карте, но был неудобен с телефона. За 5-6 часов разработчик написал первую версию бота, настроил CI/CD через GitHub и задеплоил приложение. Данные он брал из открытого API gdebenz.ru, сделав миграцию всех АЗС и настроив шедулер, который опрашивал данные каждые 30 минут.

Уже на следующее утро после публикации в местной группе бот набрал более 2000 пользователей и 4500 поисковых запросов. Разработчик подключил новые регионы — Алтайский край, Новосибирскую и Кемеровскую области — и число пользователей выросло до 4000. Однако вскоре выяснилось, что данные бота недостоверны: статусы АЗС не соответствовали реальности. Причина — в алгоритме обработки отчетов. Системные данные из источника имели коэффициент доверия 1.5, а отчеты пользователей — 1.0. В результате отметки водителей «тонули» в средневзвешенном score за 5-10 минут, так как следующие проходы синка перевешивали их.

Кроме того, поисковая выдача включала только АЗС с топливом. Если станция ошибочно получала статус «нет топлива», она пропадала из выдачи, и пользователи не могли ее найти, чтобы оставить отметку. Система сама себе заблокировала механизм исправления. Разработчик признает, что это была его ошибка: он намеренно поставил системный источник выше пользовательских отчетов, но не учел последствий. Когда он сам поехал заправиться и не смог найти через бота нужную АЗС, он осознал проблему. Он подключил дополнительный источник данных и начал мерджить данные, но проблема с перетиранием отчетов осталась.

Разработчик использовал открытое API сайта gdebenz.ru и парсил данные каждые 30 минут.

История иллюстрирует типичную проблему краудсорсинговых сервисов: доверие к данным от пользователей и системным источникам должно быть сбалансировано. В противном случае система теряет доверие аудитории. Для разработчика это стало уроком: он планирует переработать алгоритм, чтобы отчеты пользователей имели больший вес и не перетирались системными данными. Также он рассматривает возможность сбора геолокации для улучшения точности, но с учетом требований законодательства о персональных данных.