SysDesigner

Design Uber Matching System

Hard

Design a backend system that matches drivers and riders in real time, similar to Uber or Lyft.

Functional Requirements

  • Track driver and rider locations in real-time
  • Match the nearest available driver to a rider
  • Handle trip state transitions (requested, accepted, en route, complete)

Non-Functional Requirements

  • Matching latency under 200ms
  • Handle GPS updates every few seconds
  • Ensure consistency across a distributed system

Define Entities

Define API Routes

Components