Matchmaking Platform

Baxtiyor Oila

A matchmaking service for the Uzbek community in Germany, delivered as user-facing and admin Telegram Mini Apps with a profile-matching algorithm. Built with React, a Go API backend, and a Python notification bot.

Baxtiyor Oila

Overview

Baxtiyor Oila is a matchmaking platform built for the Uzbek diaspora in Germany — a community with limited ways to meet compatible partners within their culture. The whole service lives inside Telegram as a Mini App, so users don't need to download anything. A matching algorithm surfaces compatible profiles, and a Python bot keeps users notified of new matches.

What I built

  • Built the user-facing Telegram Mini App in React — profile creation, browsing matches, and messaging — plus a separate admin app for moderation.

  • Developed the Go REST API backend — user profiles, matching logic, and all data persistence.

  • Built the matching algorithm and the Python notification bot that tells users when a new compatible profile appears.

Architecture

Two React Telegram Mini Apps — one for users, one for admins — talk to a Go REST API that handles profiles and matching logic. A separate Python Telegram bot handles asynchronous notifications, so users get a message the moment a new match appears without polling.

Under the hood

  • Telegram Mini App initData verification for both user and admin apps — each request is verified against Telegram's cryptographic signature spec, so only legitimate Telegram users can authenticate.

  • Profile-matching algorithm that evaluates age range, shared interests, and location to surface ranked candidate profiles — giving users the most compatible matches first.

  • Python notification bot that pushes real-time match alerts via Telegram Bot API — decoupled from the main API so match delivery doesn't depend on the user opening the app.

What I learned

  • Delivering inside Telegram eliminates the hardest part of any new consumer app — getting users to install something. Distribution was built-in from day one.

  • Separating the notification layer (Python bot) from the API was the right call — it meant we could deploy, update, or restart either service without affecting the other.

Built with

Frontend

  • React
  • TypeScript
  • @telegram-apps/sdk

Backend

  • Go
  • REST API

Bot & Notifications

  • Python
  • Telegram Bot API