Reverse geocoding service

DesignMedium40 minGoogle and Uber style

Your task

Design a reverse-geocoding service that turns a raw (lat, lng) into a human-readable address and the administrative hierarchy it falls in (country, state, city, neighborhood, postal code), for 300k requests/second with p99 under 30ms. The reference data is millions of nested boundary polygons plus an address-point dataset, updated occasionally. Cover the lookup, how you make point-in-polygon fast at this QPS, and what you cache.

It covers

  • Reverse geocoding
  • Point in polygon
  • Caching