
https://routestudio.sherpa-map.com
This is a project I’ve been working on in my spare time for over a year. A dedicated route generator for cyclists, runners, even cars. It takes into account everything you could imagine.
Take surface type as an example:
I grabbed all of the data available, and used nearly a billion images of roads to create the largest, and only, dataset in existence of which roads are paved and paved, classifying all of them for NA and EU so it can confidentially keep you on paved roads or find the fun gravelly ones.
Here’s a look at that dataset, I also made it into an overlay which is in the app:
Here’s a closer look (black for paved, tan for unpaved, the darker the black = higher confidence paved, and the more tan the unpaved = high confidence unpaved).
That project alone took around a year to finish, this and other overlays for curvy roads, scenic ones, high traffic ones and more are packed both into the app and the routing engine itself.
How does it generate routes? I built a massive custom routing engine in C++ to support the fastest possible point to point routes that can be made. From there, I implemented custom Genetic Evolution and Simulated Annealing modeling algorithms to mutate (through thousands of route generations a second), crossover and evolve routes into the one with your preferred characteristics.
Any thoughts, questions, or feedback are welcome. It’s been a fun side project and I’m glad I can finally share it with others!








