Case 13 / 17 · Telegram Web App · 2026

Dating WebApp

A minimal dating app built into Telegram as a web app, with swipe mechanics and real-time chat.

  • Development time: 14 days
  • Components: 20+
  • WebSocket events: 15+
  • Rate limits: 5 rules

Challenge

Dating apps are hard to ship because of app-store moderation, user acquisition is expensive, and there was no simple way to quickly build a mini app inside Telegram.

Solution

A full-featured Telegram Web App with a React frontend and an Express backend on SQLite. An intuitive swipe interface, WebSocket chat for real-time conversations, a verification system and profiles.

Highlights

React 19 + TypeScript + Express + SQLite · WebSocket real-time · 20+ components · Production-ready

What was built

  • Swipe mechanics: swipe left to pass, swipe right to like, super likes available
  • Real-time WebSocket chat between matches with status sync
  • Advanced filters: gender, orientation, age, distance, dating goals
  • User profile: photo upload with a crop tool, editable bio and interests
  • Profile verification: an authenticity check for safety
  • Badges and statuses: different badge types (verified, premium, etc.)
  • Reports: a way to flag inappropriate behaviour
  • Music taste: shows what the person listens to (Spotify, Apple Music and more)
  • Activity timestamps: when the user was last active
  • A referral system: bringing in new users with unique codes
  • A dark theme with seasonal variations: minimal design with ambient effects
  • A photo gallery and editing tools
  • Admin panel: user management, verification, moderation
  • Rate limiting: flood protection (40 swipes/min, 30 messages/min)
  • Telegram initData validation via HMAC-SHA256
  • Image optimisation via Sharp (WebP, compression)
  • Error tracking with Sentry
  • WAL (write-ahead logging) in SQLite for concurrency
  • Lazy-loaded components and smooth transition animations
  • Mobile optimisation and responsiveness

Stages

  1. UX and prototyping (1 day) — Designing the swipe mechanics, the chat system and the matching model
  2. Backend (4 days) — Express API, SQLite with WAL, a WebSocket server, the matching algorithm
  3. Frontend (5 days) — React components, swipe mechanics, real-time chat, filters, profiles
  4. Security (2 days) — Telegram initData validation, rate limiting, Sentry, profile verification
  5. Optimisation and deployment (2 days) — Sharp image processing, lazy loading, mobile optimisation, deployment

Next project: Support Hub