Задача
Контекст
Вечер, двое, «куда пойдём». Все агрегаторы отвечают одинаково: вот список, разбирайтесь сами. Триста карточек, отсортированных по рейтингу, — это не ответ, а отказ отвечать: спор остаётся ровно там, где был.
Выбор — это не поиск. Искать умеют все; решать вдвоём не умеет никто. Поэтому приложение строится не вокруг выдачи, а вокруг момента, когда двое наконец сходятся на одном месте.
Экран, который решает
Главная
Сверху фотографии заведений листаются сами — как вечер сам перебирает варианты. Фото растворяется в тёплую бумагу, и на бумаге стоит «Гастромат»: жестяной автомат с барабанами кухня, район, чек. Вместо строки поиска — рычаг, который решает за тебя, если решать не хочется.
← Листайте · клик по экрану — увеличить
Заведения на кадрах — демонстрационный набор данных
Одна карточка за раз
Свайп
Фотография на весь экран, поверх — только то, по чему на самом деле выбирают: имя, рейтинг с указанием источника («2ГИС 4.6», а не безымянные звёзды), средний чек в рублях вместо значков валюты. Тап по центру раскрывает шторку заведения с меню, часами и отзывами; тап по краям листает фотографии.
← Листайте · клик по экрану — увеличить
Вдвоём и компанией
Лобби
Ведущий создаёт лобби, остальные заходят по коду из шести символов или по ссылке. Гостю не нужна регистрация — достаточно имени. Колода общая и перемешана единым сидом, поэтому все видят места в одном порядке, а просмотренное не возвращается. Когда двое лайкают одно заведение, это матч; если матчей несколько, спор добивают рулеткой или турниром «голова к голове».
← Листайте · клик по экрану — увеличить
Барный тур
Маршрут на вечер
Выбираешь точку старта — «рядом», станцию метро или район — и получаешь пеший маршрут из пяти-шести баров: близость плюс рейтинг, шаги не длиннее шестисот метров.
Приложение считает, во сколько обойдётся вечер, и предупреждает, если бар закроется до твоего прихода. Маршрут можно пересобрать, заменить отдельный бар, отметить пройденные и отправить ссылкой тем, кто присоединится позже.
Чем это работает
Данные и стек
Каталог собран из данных 2ГИС и Яндекса. Названия, адреса и телефоны приводятся к общему формату, дубли объединяются в одну карточку с двумя рейтингами. По роадмапу проекта после повторной очистки в базе 2 327 заведений. На скриншотах кейса показан отдельный демонстрационный набор.
Поиск рядом считает расстояние по координатам прямо в PostgreSQL, без PostGIS. Для барного тура база сначала отбирает заведения в прямоугольнике вокруг точки старта, затем сервер уточняет расстояния по формуле Haversine и собирает маршрут. Четырнадцать миграций базы применяются одним скриптом.
Объём кода и тестов зафиксирован при подготовке кейса в сентябре 2026 года.
Что дальше
Честный статус
Ядро приложения работает на локальном стенде. Первый запуск пока начинается со входа, без знакомства с приложением. Через Capacitor подготовлен Android; сборку iOS ещё предстоит проверить.
Следующий этап: развернуть приложение и API на домене с HTTPS, проверить приглашения в лобби и геолокацию на телефоне, настроить пуши и подтверждение номера через Telegram. Сейчас авторизация работает в режиме разработки. Отдельно нужно завершить сборки и публикацию для iOS и Android.
Нужно мобильное приложение?