← Back to Projects

Street Time Machine
LiveSee your street as the surveyors drew it. Type an address, and Street Time Machine lays more than a century of USGS topographic sheets over today's aerial photography, with a rail of the real years available at that spot. Drag the divider and watch the farm become the subdivision.
Screenshots
What It Does
- →Search any US address, or press and hold the map to drop a pin, and the rail fills with every year a USGS sheet exists for that spot, from the 1880s to the 1990s
- →Slide the rail and the historic sheet swaps underneath you; the year rolls, the sheet name, survey and print dates, and scale read like a museum label
- →Swipe compare: a hairline divider with a loupe handle, then on one side and today’s aerial on the other; or fade between them
- →Today comes from USGS aerial and topo imagery and OpenStreetMap streets; the pin stays put across years so you can watch the land change around it
- →Every view is a link: the address, year, position, zoom and mode live in the URL, so you can send someone exactly what you found
- →Honest about loading: it tells you which sheet it is fetching and how many tiles are in, and says plainly when a spot has no historic coverage
What I Built
- →Historic sheets come from the USGS Historical Topographic Map Collection through a public image service, with a mosaic rule per year and scale so any sheet draws at any zoom, straight from the browser
- →A catalog step reads every sheet covering the pinned point and picks the most detailed edition for each year, with the maths for year selection, Web Mercator tiles and bounds unit-tested against saved real responses
- →Vendored Leaflet, restyled from scratch: one ink control strip, a footnote attribution, no stock widgets
- →A serif year numeral with tabular figures that rolls in the direction of travel, and a rail with a tick per available year, keyboard stepping and a haptic tick on phones that support it
- →Geocoding through Nominatim, rate-limited and sent only when you press Go; no accounts, no analytics, nothing stored anywhere but your own browser
- →A static, installable web app (React, TypeScript, Vite) with a service worker; the app shell works offline, the maps need a connection


