Challenges with challenges and some ideas

Based on some encouragement from friends, I’ve taken on the challenge of running my town in the 2026 calendar year. It’s only 150ish miles, and mostly connected, so it’s totally doable by active runners that are willing to put in the route planning and scheduling work.

Here’s a couple of observations I’ve made:

  • Challenges are scored by roads completed, not by distance.
  • The challenge view only gives lists of complete or incomplete streets, but no node count or distance calculation of completion.
  • The node hunter is a great feature, but I constantly get the 1000-node limit problem if I’m at the wrong zoom level.
  • When looking for nodes, I sometimes see nodes that are outsides my city (town) boundary, including nodes on the boundary that do not show up in the incomplete road list.

Here’s some partially well-formed ideas for features that I’d like to suggest:

  • A view of my routes that were done during the challenge, including total distance, completed streets, partially completed streets, nodes hit, challenge distance completed.
  • A way to see distance/node completion of streets within the challenge (much like I can see on my life list view of a town.)
  • A way to search for nodes at high zoom levels that show clusters of nodes if I’m requesting too much data. Clumping nodes by chloropeth might be an option?
  • A filter on nodes inside a challenge so that only nodes from the town (inside the municipal boundaries and within the challenge criteria) are shown.
  • Showing lines across nodes when there are long sections that need to be completed, or at high zoom levels.
  • A way to download the nodes, roads or distances required for a challenge. I’d be happy with either the completed dataset without my completions, or a list that includes data on what I’ve completed. Or, alternately, just a download of the data to complete a city/town with distance and node count provided. A way to download geographic data for a city would also be nice, but that may be too much to ask.

I can refine some of these ideas if needed, or I’d be happy to provide PRs for code if you’d prefer. With some knowledge of how you have things set up, I could probably offer some pseudocode on how to implement if you don’t want to share code. Happy to contribute whatever works to make this better.