Design Courier Tracking
MediumSystem design · Logistics · DoorDash
Design the live tracking feature of a delivery app. A courier who has already been assigned an order streams GPS fixes from their phone, and the customer sees the courier moving on a map with an arrival-time estimate that stays accurate.
In scope: location ingest and throttling, cleaning noisy GPS, latest-position storage, pushing updates to the customer, ETA computation, privacy, and stale data. Out of scope: assigning couriers to orders (dispatch) and parcel-network scan tracking.
Requirements
- Adaptive, battery-aware location reporting; reject outliers and snap to roads before showing positions
- Latest position in a low-latency key-value store, with history appended separately for disputes
- Push to the few viewers of each order with a polling fallback; smooth the marker on the client
- ETA from route, live traffic and delivery stage, recomputed on meaningful change without visible jitter
- Show a courier only to the customer on the active order, stop at delivery, and retain trails for a bounded period