Мы используем аналитику, чтобы понимать, как посетители используют сайт. Она заработает только с вашего согласия. Подробнее — в политике конфиденциальности.
Как мы создали продукт, который заменил хаос в Telegram-чатах на структурированную систему матчей, рейтингов и турниров для пляжного волейбола
Пляжный волейбол на Кипре — один из самых популярных видов досуга. Только в Лимассоле десятки групп в Telegram, где игроки ежедневно ищут партнёров для игры. Но организация матча — это рутина: кто-то пишет в чат, собирает людей, договаривается о времени и месте. Результаты теряются в потоке сообщений, а понять, кто на каком уровне играет, можно только по слухам.
Отдельная боль — корты. Популярные площадки забронированы на дни вперёд, и единственный способ узнать о свободном слоте — вручную обновлять сайт бронирования. Игроки тратили по 30 минут в день на проверку доступности, и всё равно опаздывали.
Мы решили превратить этот хаос в работающую систему.
VolleyXP — это платформа, которая закрывает весь цикл организации пляжного волейбола: от создания матча до автоматического подсчёта рейтинга. Веб-приложение и Telegram-бот работают как единое целое — игроку не нужно заходить на сайт, чтобы записаться на матч или узнать свой рейтинг.
Платформа объединяет несколько ролей: обычные игроки создают матчи и отслеживают статистику, тренеры ведут тренировочные сессии со своими группами, организаторы запускают турниры, а администраторы кортов управляют бронированием и расписанием.
Не заставлять людей менять привычки — а встроиться в них. Сообщество уже живёт в Telegram, поэтому бот стал равноправным интерфейсом: запись на матч, результаты, уведомления — всё доступно без перехода на сайт.
Организатор выбирает корт из каталога или указывает своё место, задаёт уровень и время. Матч автоматически публикуется в Telegram-канал сообщества с кнопкой «Записаться» — никаких сообщений в чат, всё структурировано.
Участники записываются одним нажатием — из Telegram или через сайт. Система фиксирует текущий рейтинг каждого игрока в момент записи и контролирует дедлайны: нельзя отписаться за час до начала и записаться через 12 часов после старта.
После игры любой участник вносит результаты по сетам с указанием составов команд. Второй игрок подтверждает — это занимает пару нажатий. Без подтверждения результат не засчитывается.
Рейтинг обновляется мгновенно. Новые достижения разблокируются. Результаты с подиумом и дельтой рейтинга публикуются в Telegram-канал. Никакой ручной работы — всё происходит автоматически.
В основе — адаптированный ELO-алгоритм, знакомый по шахматам, но переработанный под специфику пляжного волейбола. Рейтинг рассчитывается по каждому сету отдельно с учётом средних рейтингов команд, а не только победы или поражения в матче.
Важная деталь: система фиксирует рейтинг игрока в момент записи на матч, а не в момент игры. Это предотвращает манипуляции — если сильный игрок записался в последний момент, расчёт всё равно будет честным.
Встроенный механизм outcome protection гарантирует: если ты выиграл больше сетов, чем проиграл — рейтинг не может упасть. И наоборот: серьёзное поражение всегда отражается на рейтинге. Это убирает ситуации, когда математика ELO противоречит здравому смыслу.
Бот — не дополнение к сайту, а полноценный канал взаимодействия. Когда матч создаётся, он автоматически появляется в Telegram-канале сообщества с inline-кнопкой записи. Игрок нажимает кнопку — и он в списке, без перехода на сайт и без регистрации через веб-форму.
После подтверждения результатов бот публикует красиво оформленный итог: подиум с местами, изменения рейтинга для каждого участника, и хэштеги для поиска. Если состав участников меняется — бот обновляет пост в канале и отправляет уведомление, но только в рабочие часы, чтобы не будить людей ночью.
Отдельный модуль — мониторинг кортов. Система отслеживает появление свободных слотов на популярных площадках и мгновенно отправляет алерт в настроенные каналы. Больше не нужно обновлять сайт бронирования вручную.
Главный формат — King of the Beach: турнир для индивидуальных игроков без постоянных команд. Платформа берёт на себя всю организацию: разбивает участников на группы по 4 человека, генерирует round-robin расписание внутри каждой группы, а затем пересортировывает игроков по результатам для следующих этапов.
Турнир проходит через несколько стадий: групповой этап, пересев по позициям, разделение на верхнюю и нижнюю сетки, финалы. Организатору остаётся только выбрать дату, площадку и лимит участников — всё остальное система генерирует автоматически.
Next.js 16 с App Router, TypeScript, Tailwind CSS, Radix UI и shadcn/ui, React Hook Form с Zod-валидацией, Recharts для графиков рейтинга
Express 5, Prisma ORM с PostgreSQL, JWT-авторизация с Google OAuth и Telegram Auth, Mailgun для email, Docker Compose для оркестрации
Архитектура — два отдельных сервиса: Next.js frontend и Express backend, связанные через API-прокси. Четыре фоновых cron-задачи обеспечивают автоматизацию: завершение прошедших матчей, обновление постов в Telegram, мониторинг кортов и верификация подключённых каналов.
От игрока до организатора турниров
Экранов в веб-приложении
Автоматизация без ручного труда
VolleyXP — пример того, как технологии решают конкретную проблему конкретного сообщества. Вместо очередного абстрактного стартапа — работающий продукт, которым пользуются реальные волейболисты Лимассола. Платформа продолжает развиваться: в планах — новые форматы турниров, платная подписка с расширенной статистикой и интеграция с системами бронирования кортов.
Хотите обсудить похожий проект?