A map is mostly static: an offline pipeline renders the world into tiles at every zoom level, served from a CDN. Places are found through a geo-aware search index. Routing runs on a pre-processed road graph, with edge weights updated by live traffic computed from millions of anonymous phone GPS pings, and an ML model turns all of that into ETAs.
Functional requirements
- Pan and zoom a map of the world
- Search for places and addresses (geocoding) and reverse-geocode a point
- Directions by car, transit, bike or foot with ETA
- Turn-by-turn navigation with live traffic and rerouting
Non-functional requirements
- Map tiles load instantly everywhere
- Routes in under a second, even across a continent
- Traffic reflects reality within a few minutes
- Location data is anonymised
Extensions
- Public transit routing with timetables.
- Offline maps downloaded per region.
- Street-level imagery.
- Reviews, photos and opening hours for places.