The product
Most dating apps are profile catalogs: you swipe through strangers who could be anywhere. On Scene starts from the opposite end. It shows you where people are right now, which venues are busy tonight, and who just checked in near you, so meeting someone is a matter of going somewhere rather than messaging for a week.
The problem
The app had to connect online dating with real-world presence. That meant a map that always reflected what was actually happening, check-ins that registered instantly, live updates for everyone nearby, private chat, and a premium tier, all in one app that still felt fast on an average Android phone.
My role
I built the core mobile experience on iOS and Android: venue check-ins, map-based discovery, live presence, real-time chat, and premium subscriptions.
I worked in a team of 4–6 people, alongside a separate backend developer and designer, over 3–6 months.
What I built
Venue check-ins and nearby discovery on Google Maps, so the app is anchored in real places
Live presence that updates who's around a venue as people arrive and leave
Real-time chat over Socket.IO, with Firebase push notifications for messages and activity
Matching between people at or near the same venues
Safety controls with blocking and reporting, plus settings for who people interact with and what location information they share
Premium subscriptions through RevenueCat across the App Store and Google Play
Architecture
Flutter app, iOS and Android
Technical challenges
Keeping a busy map smooth. Map screens get slow quickly when markers, location updates, and socket events all arrive at once. Every presence update can trigger a rebuild, and a naive approach redraws the entire map for each one. I structured the location and real-time logic so the map stayed responsive as activity changed around the user.
Presence that stays accurate. People close the app, lose signal, or walk out of a venue. Presence has to expire properly rather than showing someone who left an hour ago.
Subscriptions on two stores. Premium access has to unlock right after purchase, survive reinstalls and device changes, and behave identically on Apple and Google.
Important engineering decisions
- 1Venues first, profiles second.Discovery starts on the map, which is what makes On Scene different from a standard swipe app.
- 2Sockets for presence, not polling.Socket events tied to map presence keep nearby activity current without constant API requests.
- 3RevenueCat for both stores.One source of truth for subscription status and entitlement checks across Apple and Google billing, instead of two hand-built integrations.
Technology stack
Flutter, Dart, Google Maps SDK, Socket.IO, Firebase (Cloud Messaging and related services), RevenueCat, REST APIs
Outcome
On Scene shipped as a location-based discovery platform that combines live presence, venue check-ins, real-time chat, and premium dating features on both iOS and Android.
What I learned
Real-time location features are mostly a data-flow problem, not a map problem. The map is easy; deciding which updates matter, how often, and to which part of the screen is the actual work.
What the client says
Turned the idea into a smooth, polished product.
He took ownership of the mobile app, handled complex features like real-time chat, location-based discovery, matching and subscriptions, and turned the idea into a smooth, polished product. His communication, problem-solving and attention to detail made a real difference throughout the project.


