VITALIY
VOLOSHIN

Meet people nearby, inside Telegram

LobbyDate helps people find company for coffee, a walk or an evening out. Members choose their interests and plans, discover nearby profiles and start a conversation. I developed the entire app from scratch, including the interface and backend.

Try LobbyDate

LobbyDateLoading

Task — Build a mobile dating app around location and shared interests

LobbyDate connects people who are nearby and want to spend time in similar ways. The app needed to bring profiles, location search, mutual likes and conversations together inside Telegram. The scope also included paid features, gifts, friend invitations and moderation tools. The mobile interface, backend and connections between these flows all had to be developed.

My contribution — Full application development

I designed the application structure and database, built the backend and Telegram integration, and created the entire mobile interface. I worked through profile setup, navigation, cards, filters and conversations. I implemented location search and check-ins, likes and matches, messaging, Premium and Boost, gifts and referral rewards, connecting each flow to access rules, payments and moderation.

Mobile interface
Designed and built the mobile interface: profile setup, discovery, bottom navigation and action sheets. The interface accounts for narrow screens and use inside Telegram.
Backend and data
Designed the models for profiles, interests, check-ins, likes and messages. Built the API, Telegram authentication, access checks and persistent application state.
Location and places
Implemented discovery by coordinates, radius, city and venue. Search results account for active check-ins and their expiry time.
Likes and conversations
Built incoming and sent likes, mutual matches and chats, with unread messages, in-chat gifts, reporting and blocking.
Paid features
Integrated Telegram Stars, Premium plans, Boost promotion and entitlement expiry. Received gifts stay in inventory until the member activates them.
Invitations and operations
Built referral links, activation tracking and rewards, alongside tools for managing members, moderation, events and QR campaigns.

From a profile to a meeting

Introduce yourself and choose how to meet

Profile setup has three steps. Members start with a photo, name, birth date, city and short introduction. They then choose who they want to meet and what they would like to do, from coffee and dinner to finding a group. Interests complete the profile and give other people a starting point for a conversation.

See who is nearby

Members can browse one profile at a time or switch to a grid. Each card shows a photo, age, distance and meeting goal. Search radius and filters for age, presence format and plans narrow the results. A separate setting controls whether previously liked profiles remain in the feed.

Meet at a specific place

Discovery also works by venue and city. Members can choose a nearby place and see people checked in there, or search across a city. Events have their own check-in, bringing guests into a shared event feed. Check-ins expire so discovery reflects recent presence.

Show interest and learn more

Incoming and sent likes have separate views. Each entry opens a full profile with a photo, introduction and interests. A like in return creates a match and opens the conversation. Members can block unwanted contacts or submit a report with a reason and comment.

Start a conversation

The chat list shows the latest message and unread replies. Conversations stay inside the app, with access to the other person’s profile and a gift picker. Premium members can also write before a mutual like when the recipient has enabled that option in their profile settings.

Expand discovery and get noticed

Premium expands search options and the like allowance, while Boost promotes a profile in the feed. Members can see plan choices and the expiry of active features. Payments use Telegram Stars. Gifted Premium and Boost stay in inventory for later activation when the corresponding feature is no longer active.

Invite friends and earn rewards

The invitation programme shows progress towards rewards, active members and available gifts. A separate list tracks who joined through an invitation and who has activated. Reward history records bonuses and their current state. Referral tracking and reward grants run on the server and depend on the new member’s activity.

Location, conversations and payments in one system

The mobile interface uses React and TypeScript, with a FastAPI backend. PostgreSQL stores profiles, relationships and messages; PostGIS handles coordinates and distances. Telegram provides authentication, notifications and Stars payments. The server checks matches, recipient settings and active entitlements before allowing chat actions. Messages refresh through periodic requests, while check-ins, subscriptions and gifts have separate lifecycles.

  • TypeScript
  • React
  • Python
  • FastAPI
  • Telegram API
  • PostgreSQL
  • PostGIS
  • SQLAlchemy

Let’s discuss
your project

Tell me about your project

Leave your contact details and a few words about the project. I’ll read your enquiry and get in touch to discuss it.