Back to problems
Uber System Design (Real-Time Matching at Scale)
Design a ride-sharing platform like Uber that matches riders with drivers in real-time.
Constraints
Functional
Request ride (pickup/dropoff), match with nearby drivers, real-time location tracking, fare (distance/time/surge), payment after ride, rider–driver ratings
Non-functional
Match in < 5s, 99.99% uptime (safety), location updates every few seconds, millions of concurrent users
Scale
100M users, 10M DAU; ~20M rides/day, peak ~500/s; ~250K location updates/s at peak
Stages ahead
1Requirement Analysis
2API Design
3High-Level Design
4HLD Extensions
5Trade-offs