Как я превратил группу по поиску напарников в VK Mini App
Когда в игровом сообществе несколько десятков сообщений, найти напарника ещё несложно. Когда участников несколько тысяч, обычная стена превращается в ленту, где хорошая анкета исчезает за несколько часов.
У меня есть сообщество WaitTeam примерно на 5,6 тысячи участников. Изначально всё работало просто: игрок писал, во что хочет играть, указывал платформу и ждал ответа. Часть людей публиковалась на стене, часть шла в чат, часть использовала бота.
Со временем стало понятно, что нужен не ещё один чат, а нормальный поиск.
Так появился мой VK Mini App. Его не нужно устанавливать и не нужно создавать отдельный аккаунт. Пользователь открывает приложение внутри VK, выбирает игру, платформу, время и цель поиска, затем создаёт анкету или смотрит подходящих игроков.
Самой неожиданной проблемой оказались не интерфейс и не код, а данные. Одну игру люди называют десятком способов. Кто-то пишет полное название, кто-то сокращение, кто-то допускает опечатку. Пришлось делать каталог, нормализацию названий и серверную проверку.
Отдельная задача - объединить старые публикации бота и новые анкеты. Я не хотел выбрасывать накопившуюся базу. Теперь оба источника попадают в общий каталог, повторная обработка не создаёт дубликаты, а удалённые публикации постепенно исчезают из поиска.
Позже появились игровые профили и привязка Steam, PlayStation и Xbox. Синхронизация работает через очереди с лимитами и повторными попытками, чтобы временная ошибка внешнего сервиса не ломала всё приложение.
Сейчас можно искать людей по игре, платформе, подписке, возрасту, времени и стилю игры. Есть отдельные сценарии: совместное прохождение, поиск клана, набор участников и помощь с достижениями.
Приложение работает на Python и FastAPI, обычном JavaScript, SQLite, Docker Compose и nginx. Авторизация проверяет подпись параметров запуска VK, а подписка на сообщество не обязательна.
Рекламного бюджета у проекта пока нет, поэтому ищу первых пользователей вручную и собираю честную обратную связь.
Больше всего интересуют три вещи:
1. Какие параметры действительно важны при выборе напарника?
2. Нужен ли отдельный режим поиска человека на одно прохождение?
3. На каком шаге вы бы закрыли приложение и больше не вернулись?
Ссылка на мой проект: https://vk.com/app54463442
Критиковать можно прямо. Сейчас конкретные замечания полезнее вежливого "нормально".