Click Analyze and your activity's GPS track is checked point-by-point against OpenStreetMap's real administrative boundaries — cities, towns, villages, hamlets — not just distance to a marker on a map. Boundary data is cached locally for 90 days, so re-analyzing later or reviewing another ride nearby is fast.
Confirmed vs. pending matches
When a place has a real boundary polygon in OpenStreetMap and your track enters it, it's confirmed automatically. Smaller places that only have a center point are matched by distance instead and land in a separate Pending list — click a marker on the map (or use the buttons in the panel) to Confirm or Decline each one.
Regions & districts
Beyond individual settlements, each analysis also detects which oblasts (regions) and raions (districts) the whole route passed through, with the percentage of the ride inside each one — useful for rides that mostly cross open country between towns.
Urban % and distance breakdown
Every analyzed activity gets an urban/countryside split — how much of the distance was inside a recognized locality vs. open road — plus a per-type count of cities, towns, villages, and hamlets crossed.
Localities & Regions dashboards
Two aggregate tabs summarize your whole saved history: which places you ride through most, total and average km per locality, last-visited date, and the same rollup by region/oblast — filterable by country, oblast, and minimum ride distance.
Push results back to Strava
The Update on Strava button writes the recognized regions, districts, and localities straight into the activity's title or description on Strava — choose short or full detail, append or prepend, and which categories to include.
Connect your Strava account (one-time authorization). The consent checkbox controls whether recognized localities are saved to your FitFixer history — you can leave it unchecked to only ever see live, unsaved results.
→
2
Browse the Activities tab — filter by title, sport, distance, privacy, or whether it's already been analyzed.
→
3
Click Analyze on a ride. The track is fetched from Strava, matched against OpenStreetMap boundaries, and a map with locality/region overlays, stats, and lists appears.
↵
4
Review any Pending matches — click a marker on the map or use the buttons in the Pending list to Confirm or Decline. Once every pending item is reviewed, results save automatically; otherwise use Save to my history.
→
5
Browse the Localities and Regions tabs for your all-time stats, or click Update on Strava to write the results into the activity's title/description.
→
FAQ
What does "Pending" mean?
Some smaller settlements have no official boundary shape in OpenStreetMap, only a center point, so the match is based on distance instead — less precise than a real polygon. Those show up as Pending until you Confirm or Decline them on the map or in the panel.
Is my Strava data stored?
Only if you check the save-to-history box when connecting — and even then only locality names, types, distances, and the activity id/name/date are saved, never your raw GPS track. See the privacy & data page for full details and how to disconnect.
Can I analyze many activities at once?
Yes — select multiple activities in the Activities tab and use Reanalyze selected. This runs analysis and saves each one automatically, skipping the manual Confirm/Decline review step, so any previous overrides on their pending matches are reset.
Why is an activity missing from the list, or won't analyze?
Analyze needs a GPS track — activities recorded on an indoor trainer or without location data will show a "no GPS" error. Very short rides can also be filtered out by the "ignore rides shorter than" setting on the Localities/Regions tabs.
What exactly gets written to Strava when I click Update?
Only the activity's title and/or description, using the activity:write scope — never anything else on your Strava account. You choose whether it's a short or full list, whether it's appended or prepended to your existing text, and which of regions/districts/localities to include, with a live preview before you confirm.