Ride Matching (Uber)
Track drivers in real time and match riders to nearby drivers within seconds.
Hard50 minGeo-indexingMatchingHigh write rate
A ride-hailing service like Uber tracks millions of moving drivers and, within seconds, matches each ride request to a suitable nearby driver. It combines a very high write rate of location updates with a matching step that must never assign one driver to two riders.
Clarify requirements
Functional
- Drivers send location updates while online.
- Riders request a ride from pickup to destination and see an ETA and price estimate.
- System matches the rider with a nearby available driver; driver accepts or declines.
- Both see each other's live location during the trip; trip lifecycle (accepted, arrived, started, completed).
- Out of scope: payments details, surge pricing model, ratings (mention as integrations).
Non-functional
- 5M active drivers at peak, 20M rides/day.
- Match within ~5–10 seconds; location freshness within ~5 s.
- A driver is never matched to two rides at once (strong consistency on assignment).
- Highly available per city/region; degrade gracefully.
Try it first
Set a timer, sketch your own design on paper, then compare it with the reference walkthrough.
50:00
Defend it out loud
The AI interviewer will probe your design for Ride Matching (Uber) and score it.