Платформа знакомств
Baxtiyor Oila
Сервис знакомств для узбекского сообщества в Германии — пользовательское и админ Telegram Mini-приложения с алгоритмом подбора профилей. Создан на React, Go API и Python-боте уведомлений.

Обзор
Baxtiyor Oila — платформа знакомств для узбекской диаспоры в Германии — сообщества с ограниченными возможностями познакомиться с подходящими партнёрами в рамках своей культуры. Весь сервис живёт внутри Telegram как Mini App, поэтому пользователям не нужно ничего скачивать. Алгоритм подбора выводит совместимые профили, а Python-бот держит пользователей в курсе новых совпадений.
Что я сделал
Создал пользовательское Telegram Mini App на React — создание профиля, просмотр совпадений и обмен сообщениями — плюс отдельное приложение администратора для модерации.
Разработал Go REST API бэкенд — профили пользователей, логику подбора и всё хранение данных.
Создал алгоритм подбора и Python-бот уведомлений, который сообщает пользователям о появлении нового совместимого профиля.
Архитектура
Два React Telegram Mini App — один для пользователей, один для администраторов — обращаются к Go REST API, обрабатывающему профили и логику подбора. Отдельный Python Telegram-бот обрабатывает асинхронные уведомления, так что пользователи получают сообщение в момент появления нового совпадения без опроса.
Под капотом
Верификация initData Telegram Mini App для пользовательского и административного приложений — каждый запрос проверяется по криптографической спецификации подписи Telegram, поэтому только законные пользователи Telegram могут аутентифицироваться.
Алгоритм подбора профилей, оценивающий возрастной диапазон, общие интересы и местоположение для отображения ранжированных профилей-кандидатов — давая пользователям наиболее совместимые совпадения первыми.
Python-бот уведомлений, отправляющий уведомления о совпадениях в реальном времени через Telegram Bot API — отделён от основного API, поэтому доставка совпадений не зависит от открытия пользователем приложения.
Чему я научился
Доставка внутри Telegram устраняет самую сложную часть любого нового потребительского приложения — заставить пользователей что-то установить. Дистрибуция была встроена с первого дня.
Отделение уровня уведомлений (Python-бот) от API было правильным решением — это позволяло развёртывать, обновлять или перезапускать любой сервис без влияния на другой.
Технологии
Фронтенд
- React
- TypeScript
- @telegram-apps/sdk
Бэкенд
- Go
- REST API
Бот и уведомления
- Python
- Telegram Bot API