Overland
A fog-of-war driving game I planned, with a v0 drive recorder built for the web and iOS.
Prototype. The recorder runs on the web and in the iOS Simulator; the game is planned, not built.
151 new cells counted from 1,439 location fixes on a generated 22.7 km loop
- Where
- Personal project
- Role
- Design and build
- Built with
- SwiftUI, Core Location, JavaScript, Python
What I made
I planned the game in 8 design documents: the map starts dark, only ground you have never driven scores, and nothing rewards speed.
Then I built the v0 recorder twice: a 159-line web page with no network calls, and a SwiftUI app on Core Location. Both bin fixes into cells of about 200 m, count new ground live and export the drive as GPX.
- Location fixbrowser geolocation or Core Location
- Accuracy filterfixes worse than 100 m dropped
- Grid celleach fix binned to a cell of about 200 m
- New grounda cell counts once, the first time
- ExportGPX and JSON lines
- Planned: shared mapH3 hexes, derived records via CloudKit
2v0 recorders: web (demoed) and native iOS (runs in the Simulator)
8design documents behind the build
0network calls in the web recorder
What came out of it
A generated loop
The route is generated, with GPS noise from a fixed seed; nobody drove it. The recorder counted each new cell live and ended ready to export.


The native recorder

Where it's going
The full version is an iPhone game that records drives on its own: the map starts dark, each drive lights the ground it covers on one shared map, roads are named as they are surveyed, and nothing rewards speed.
- Nowv0 recorderWeb and native recorders count new ground and export each drive.
- Hex mapA hex grid on a real map lights up where you have driven.
- Post-drive revealThe route burns in after each drive, then its roads are named.
- Hands-free recordingDrives start and stop on their own, with nothing to touch.
- Shared mapRaw GPS stays on the phone; only derived records sync to one map.