NewRoads - 100% speedrun your city
Me and my partner have always loved taking new roads anywhere we go around our home town. Getting to see a new part of our city every time we go out. I was also recently playing Forza Horizon 6, and enjoyed the challenge to drive all the roads. So that mechanic, what if that existed for real life? What if every road you drove, every neighborhood you walked through, all of it was tracked and visualized on a real map. Turns out that idea was compelling enough to me that I spent the better part of a year building it into an iOS app.
NewRoads covers your entire map in a colored fog overlay and reveals it as you move through the world. It runs in the background using CoreLocation so you don't have to think about it. You go to work, you go on a trip, you take a walk. When you open the app later all of that movement has already been punched out of the fog. There's a subtle animation as new areas reveal themselves which gives it a really satisfying feel, especially on long drives where you can watch the corridor open up ahead of you in real time.
The fog itself is customizable. You can pick whatever color you want via a color picker, and adjust the reveal radius anywhere from 10 to 250 meters. A smaller radius gives you really granular detail where you can see individual streets and paths. A larger radius fills in faster but its less precise. I've been running mine at about 30 meters and its a nice middle ground.
Tracking and Sync
The background tracking uses a 10 meter distance filter so its not constantly waking up for micro movements. There's a foreground only mode if you want to save battery, and a keep screen on toggle for when you're actively watching the map on a drive. All your exploration data syncs automatically via iCloud so if you get a new phone everything carries over. No accounts to create, no export and import. It just works through your Apple ID.
City Boundaries and the OSM Server
This is the part that was most interesting to build. NewRoads doesn't just track raw area. It knows which cities you've been in and calculates what percentage of each city you've actually explored. To do that you need polygon data for city boundaries, and getting that reliably at scale is a real problem.
I run my own custom boundary server that serves OpenStreetMap polygon data via a Nominatim compatible API. With full global coverage using the OSM latest plant file. When the app needs to know the shape of a city it hits this endpoint with the city name and ISO country code, gets back GeoJSON, and stores the polygon locally for future calculations.
Running my own instance was a deliberate choice. The public Nominatim has strict rate limits and usage policies that don't work well with a mobile app making requests as users drive through new cities. Having my own means I control the data freshness, there are no rate limits to worry about, and I can tune the response format to exactly what the app needs.
But network requests aren't always available. And they're especially unreliable in the exact situations where you're most likely to be exploring somewhere new. So I also ship a city_boundaries sqlite database bundled directly in the app. Its opened once, read only, and serves as a local cache. The app checks the bundled database first and only falls through to the network if it gets a miss. This keeps everything responsive even when you're out in the middle of nowhere with one bar of signal.
The Stats
Once you have boundary polygons you can do some fun math with them. NewRoads uses point in polygon calculations against stored city boundaries to figure out how much of each city you've covered. You get a ranked breakdown showing your exploration percentage for every city you've visited. Maybe you've covered 12% of your home city and 0.4% of somewhere you just passed through on the highway.
Beyond city percentages the app tracks unique roads, cities, states, ZIP codes, and countries. Roads are de-duplicated per city so "Main Street" in one town doesn't conflate with "Main Street" in another. The stats view gives you all of this in one place, and there's a share card feature that renders a nice looking summary image you can post or send to people.
Fog Editing
Sometimes GPS wasn't running when you were somewhere, or drift put your track in the wrong spot. There's a manual fog editing mode with a pencil and eraser tool. The eraser clears fog from places you know you've been, and the pencil draws it back over areas where you want to correct mistakes. You just tap and drag on the map. Its the kind of thing that makes the map feel like yours and not just a mechanical GPS trace.
Badges
There's an achievement system on top of all the exploration data. Badges are grouped into roads visited, cities entered, countries reached, and city coverage percentage. The milestones scale up from 10 roads all the way to 100,000. Cities from 10 to 100. Countries from 2 to 20. And coverage badges reward you for deeply exploring a single city from 1% all the way up to 100%. Its a progression system that genuinely makes me take the long way home sometimes.
Pro
The core fog clearing and background tracking is free. NewRoads Pro is an annual subscription that unlocks the profile customization, detailed stats, badges, and the fog eraser tool. Single tier, no upsells.
The app is available on the App Store. If you're the type of person who takes a different route just to see whats down that road, give it a look.
https://apps.apple.com/us/app/newroads/id6780282962