Our work · Case study

Mobile · Sevenco · 2026
Sevenco

Live dispatch for a chauffeur, not a cab.

Sevenco is a chauffeur marketplace for people who already own the car. We built the rider app, the driver app, and the backend that requests a verified chauffeur, follows them in, and closes the trip.

  • Concurrent matching
  • Live GPS
  • FCM
  • Realtime
  • Haptics
  • Wallet
Matching: concurrent search for a nearby verified driver.
Industry
Mobility
Country
India
Team
5 people
Scope
Two apps + backend

The rider loop: request, match, watch the driver move.

Request
Confirm
Pickup
Matching
Live GPS

Request01 / 05

Request screen: destination search and hourly or one-way dispatch.
Confirm: pickup, destination, leave-now or schedule before the match starts.
Pickup confirmation on Google Maps with a live pin.
Matching: concurrent search for a nearby verified driver.
Live GPS: chauffeur en route, position updating on the rider map.

01

The inversion

Most mobility products move a fleet car to the customer. Sevenco keeps the car where it is and moves a professional driver to it. The chauffeur arrives on a foldable bike and stows it in the trunk. That is not a skin on ride-hail. The inventory is people, not vehicles, and the rider has to trust a stranger with a car they already own.

02

What the system has to survive

A live chauffeur marketplace does not fail in the booking form. It fails when two trips collide, the pin is stale, or the rider has already locked the phone.

  1. 01
    Overlapping claims

    Two live requests can compete for the same chauffeur. If both hold the driver, one trip is a lie.

  2. 02
    Stale location

    The chauffeur is moving. A last-known pin that is thirty seconds old sends the rider to the wrong place. Stale is worse than empty.

  3. 03
    Phone locked

    Riders lock the phone at the door. The trip does not pause because the UI is not visible.

  4. 04
    Wrong entrance

    A pickup that is only close enough puts the chauffeur on the other side of the building.

  5. 05
    Settlement race

    Charge before the trip is real and the rest of the product is unwinding a payment that should not have happened.

  6. 06
    Presence without staring

    Rider and chauffeur have to feel each other without both watching the map.

03

How we solved it

Each failure mode has a corresponding write, stream, or event. The rider UI is a projection of that work.

  1. 01
    Trip as source of truth

    One trip record moves through requested, matching, assigned, en-route, arrived, in-trip, and complete. Each screen is a projection of that record.

  2. 02
    Exclusive assignment

    Matching looks up nearby eligible chauffeurs and writes a single claim. The write has to win when two requests overlap.

  3. 03
    Location as a stream

    The driver device publishes coordinates. Supabase Realtime fans that stream to the rider map. Polling a last-known point is not the same system.

  4. 04
    Events off-screen

    Match found, approaching, status change. Firebase Cloud Messaging delivers those while the app is backgrounded.

  5. 05
    Exact pickup first

    The rider pins the entrance on Maps before matching starts, so the chauffeur is not sent to the building instead of the door.

  6. 06
    Settlement last

    The wallet is the terminal transition. It runs after assignment, approach, and arrival — not as a checkout that races the trip.

04

How we optimized

Realtime is expensive if every device listens to everything. The rider app stays cheap by being a subscriber to one trip.

  1. 01
    Trip-scoped channel

    Subscribe to this trip, not the marketplace firehose. Nearby noise never reaches the rider session.

  2. 02
    Pin, not map rebuild

    Throttle and smooth the marker. Do not tear down the map on every GPS tick.

  3. 03
    Publisher vs subscriber

    The moving device spends battery publishing. The rider listens. Cost sits on the party that is in motion.

  4. 04
    Typed push

    The notification says what happened — match, approaching, arrived — not "open the app and find out."

  5. 05
    One store

    Screens project the trip record. There is no second client copy to drift from the server.

05

Nothing waits for a refresh

This is not a page you reload. Match, motion, arrival, and settlement arrive as they happen — including in the hand.

  1. 01
    No pull as source of truth

    Pull-to-refresh is a dashboard habit. Here the trip record moves, and the screens follow. The rider does not poll to learn whether they have a driver.

  2. 02
    Events, not pages

    Match found, chauffeur approaching, arrived, in-trip, complete. Those transitions land as live events because the session changed, not because the user asked again.

  3. 03
    The pin is a stream

    The chauffeur's device publishes coordinates. The rider map interpolates that stream. A last-known point fetched on an interval is a different product.

  4. 04
    Haptic with the driver

    Match, approaching, and arrived also hit the hand. A pulse on the rider phone is the chauffeur knocking — even when the phone is in a pocket and the screen is off.

  5. 05
    One live session

    Rider and chauffeur share the same trip. Presence is the session itself: both sides are looking at one moving record, not two apps that occasionally sync.

06

What we built

AonHive designed and built Sevenco end to end: Expo apps for rider and driver, and the backend those apps share. The work was the trip as an operating loop: set an exact pickup, match a driver, keep the rider informed while the chauffeur is en-route, and settle only when the trip is actually over. Maps, the trip store, realtime location, and push sit under that loop. They are infrastructure, not the product.

07

What we delivered

  • Sevenco rider app for iOS and Android
  • Driver app for Android
  • Trip backend: exclusive matching, location stream, and settlement
  • Booking flow: destination, exact pickup, leave-now or schedule
  • Live trip session: driver identity, map stream, no pull-to-refresh as source of truth
  • Haptic trip events on match, approaching, and arrived
  • In-app wallet at trip close

08

Technology

  • React Native
  • Supabase
  • Firebase
  • Google Maps
  • FCM
  • In-app wallet

Live product

In production.

Rider, driver, and the backend they share are in production.

Have a similar challenge?

Tell us what you need built.

Share the product, app, or system you want. We’ll help make the next step concrete.