InterviewForge

Design Uber (Ride-Hailing)

A deep walkthrough of a ride-hailing system: real-time driver-rider matching, geospatial indexing, the dispatch state machine, surge pricing, and the consistency trade-offs that make Uber hard.

Updated 2026-09Hard

Requirements & scope

  • Functional: riders request a ride, nearby drivers are matched, a driver accepts, the trip is tracked live, fare is computed and charged, ratings are exchanged.
  • Non-functional: low-latency matching (<3s), high availability, accurate ETA, consistent and auditable pricing, fair dispatch.
  • Scale: millions of drivers and riders, ~10M trips/day in a large metro, ~100K driver location updates/sec.
  • Consistency: driver location is eventually consistent (last-write-wins with a short TTL is fine); trip state and fare must be strongly consistent.

Out of scope (covered in detail below)

Driver onboarding/verification, in-app payments plumbing, marketing, pool/shared rides, and scheduled rides — deferred and discussed in the dedicated section.

Unlock the full guide

Premium members get every DSA, system design, company and role interview guide — plus AI practice, mock interviews, and analytics.

Unlock with Premium