← Back to work
Case study · Dating & relationships app

TRIO

A niche dating app built for individuals, couples, and groups, not just one-on-one matching, designed and built across iOS and Android with a custom PHP backend behind it.

Client
Abiomye Industries Pvt. Ltd.
Based in
India
What we built
Native Flutter app (iOS & Android) + a custom PHP backend
Live site
Get the app
Test login
7273936505 · OTP 1234
Dating & relationships · Individual · Couple · Group
The brief
Dating apps assume
it's just the two of you.

Most dating apps are built around a single shape of user: one profile, looking for one other profile. TRIO set out to serve a wider slice of dating and relationship life, individuals, but also couples exploring together and groups, without treating anyone outside the standard mould as an edge case bolted on after launch.

That meant three distinct registration and profile paths needed to be first-class from day one, each feeding the same matching, chat, and subscription system underneath. And because a dating app lives or dies on whether there are enough profiles to swipe through, it also needed enough real content in place before a single outside user ever opened it.

The build
One app,
three ways to date.

We built a native Flutter app on top of a hand-rolled PHP API, designed around individual, couple, and group accounts as equal citizens rather than a single profile type with extra fields tacked on.

Three registration paths
Dedicated sign-up flows for individuals, couples, and groups, each collecting the right profile shape for how that account will be discovered and matched.
Rich, multi-format prompts
Written, photo, video, audio, and poll prompts on every profile, giving people far more than a single photo to react to before they swipe.
Likes, matches & Unicorn superlikes
Standard likes and matches, plus a standout "Unicorn" feature for getting extra visibility in a crowded feed.
A custom PHP backend
A hand-rolled REST API, not an off-the-shelf framework, handling registration, matching, chat, and subscriptions for individual, couple, and group accounts alike.
Real signups,
onboarded at scale.

Before launch, the team went on the ground and signed real people up in person, individuals, couples, and groups, collecting their photos and prompts directly rather than waiting on organic app-store sign-ups to trickle in.

Typing each of those accounts into the app by hand, one registration flow at a time, wasn't going to scale. So we built dedicated import tooling that turned that on-the-ground signup data into real accounts automatically, giving launch-day users an actual, genuinely populated community to swipe through.

→
STEP 1
Sign people up on the ground
The team met individuals, couples, and groups in person and signed them up directly, capturing their photos and prompts on the spot.
→
STEP 2
Bulk import, not manual entry
Separate importer scripts turn that on-the-ground signup data into real accounts across all three registration types, instead of someone re-typing each profile into the app by hand.
STEP 3
A genuinely populated launch
Every profile in the app on day one belongs to a real person who actually signed up, not filler data standing in for one.
Under the hood
Built like a real
dating platform.

Past the three-way registration model, TRIO carries the details a dating app needs to feel safe, fast, and worth paying for, from privacy protection on sensitive screens to a subscription system that works whether someone pays by card or through the app store.

Anti-screenshot protection
Sensitive screens actively block screenshots and screen recording, protecting the photos and prompts people share on the platform.
OTP-verified sign-up
Phone verification via one-time passcodes at registration, backed by Twilio on the server side.
Subscriptions, two ways
Premium is sold through Cashfree for direct card and UPI payments, alongside native in-app purchase for App Store and Play Store billing.
Automatic premium expiry
A scheduled backend job downgrades lapsed subscriptions on its own, rather than leaving expired premium access to a manual check.
Media-rich prompts, kept lightweight
Video and voice prompts are compressed on-device before upload, so rich profiles don't come at the cost of slow load times.
Location-based discovery
Geolocation powers proximity-based matching, so the feed surfaces people who are actually nearby.
Match & like animations
Lottie-powered animations mark every like and match, giving swiping a native, satisfying feel rather than a flat state change.
Chat on the same account model
Chat, likes, and matches all live in the same backend data model rather than messaging being bolted on as a separate service.
Not a side project,
a live app on both stores.
Three ways to date
Individual, couple, and group registration are first-class account types, not a single profile shape with an afterthought toggle.
~100 source files, app + backend
Roughly 52 Dart files in the Flutter app and 45 PHP files in the custom backend behind it.
Live on iOS and Android
A fully shipped, published app on both the App Store and Google Play, not a prototype or a beta.
Tech stack
Tools we shipped with.
FlutterRiverpodDioPHPJWTTwilioPHPMailerCashfreeIn-App PurchaseLottieGeolocatorVideo Compress
Building something
with real craft behind it?
If your product deserves better than a generic template, that's exactly the kind of build we like.
connect@northboundlabs.cc See more work