Loading system design...
Design a mapping and navigation platform like Google Maps that renders interactive maps at multiple zoom levels, computes optimal routes using graph algorithms (Contraction Hierarchies), displays real-time traffic from millions of GPS probes, supports geocoding/reverse geocoding, place search, turn-by-turn navigation with live ETA updates, and Street View — all at the scale of 1 billion monthly active users.
| Metric | Value |
|---|---|
| Monthly active users | 1 billion |
| Map tile fetches per day | 50+ billion |
| Route computation requests per day | 100+ million |
| GPS probes ingested per second | 5+ million (from Android + Maps users) |
| Road graph nodes (global) | 1+ billion intersections |
| Road graph edges (global) | 2+ billion road segments |
| Places indexed | 200+ million |
| Street View panoramas | 220+ billion images |
| Tile CDN cache hit rate | > 99% |
| Route query latency (Contraction Hierarchies) | ~1ms |
| ETA accuracy | ±2 minutes for 30-min routes |
Map rendering: display an interactive map that users can pan, zoom, and rotate; render map tiles (raster or vector) for every location on Earth at multiple zoom levels (0–21); smooth, lag-free experience
Navigation / routing: given an origin and destination, compute the optimal route (shortest time or shortest distance) for driving, walking, cycling, and public transit; display turn-by-turn directions
Real-time traffic: ingest live traffic data (speed, congestion, incidents) from GPS probes (phone telemetry from millions of drivers); display traffic overlay on map (green/yellow/red); factor into route calculations with live ETAs
Geocoding and reverse geocoding: convert an address ('1600 Amphitheatre Pkwy, Mountain View') to lat/lng coordinates (forward geocoding); convert lat/lng to a human-readable address (reverse geocoding)
Place search: search for places by name or category ('coffee shops near me', 'Eiffel Tower'); return place details (name, address, rating, hours, photos, reviews); powered by a place index + geospatial query
ETA estimation: for a given route, provide an accurate estimated time of arrival (ETA) that accounts for current traffic, historical traffic patterns, time of day, and road type; continuously update ETA during navigation
Offline maps: allow users to download map tiles + road graph for a specific region for offline use; navigation works without internet using downloaded data + GPS
Street View: display 360° panoramic imagery for roads and points of interest; navigate between panoramas along streets; imagery captured by Street View cars and linked by geographic position
Location sharing: users can share their real-time location with selected contacts for a time window; contacts see a live-updating marker on the map
Map data updates: process map data from multiple sources (satellite imagery, government road databases, user-submitted corrections, Street View captures); keep the map accurate and up-to-date
Non-functional requirements define the system qualities critical to your users. Frame them as 'The system should be able to...' statements. These will guide your deep dives later.
Think about CAP theorem trade-offs, scalability limits, latency targets, durability guarantees, security requirements, fault tolerance, and compliance needs.
Frame NFRs for this specific system. 'Low latency search under 100ms' is far more valuable than just 'low latency'.
Add concrete numbers: 'P99 response time < 500ms', '99.9% availability', '10M DAU'. This drives architectural decisions.
Choose the 3-5 most critical NFRs. Every system should be 'scalable', but what makes THIS system's scaling uniquely challenging?