AI Route Generation App

Untitled design - trainerroad

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!

Looks super cool, but you must download the app in order to try to make a route?

Yes and no, it is app focused, it’s not super cheap to run so I’m hoping it will pay for itself if I get some people using it, that said, I do have a technical demo that isn’t as polished and doesn’t have as many features. I can’t guarantee this will stay up, but feel free to give this a try (note, the “prompt to route” is disabled at the moment).

I really like the idea, but couldn’t figure how out how to use it (the Android app)

Thanks for the feedback, I quickly whipped this up:

You can select a location on the map, then press the play button for it to generate a route. Below it, in purple, is the option to change preferred distance. The preferences, like “scenic, flowy, how much processing power should be used (more will make it take longer)” are accessible in “Tuning”.

This is the normal “generate route starting and ending at same point” mode. There are two more, accessible by the “Change Mode” button:

The point to point mode lets you choose specific different start and end points, so you can say, generate a gravelly 100mi ride to your buddy’s house which is only really 5mi away.

The last mode lets you click and drag out a box and it will find the route that maximizes the qualities you’re looking for (like scenicness, curvy roads, low traffic, etc.) in an entire area, even in a whole state!

I’m happy to elaborate more on any portion.

Appreciate you’ve put a lot of time and effort into and it’s not cheap to run. It looks great, it’s probably not quite the same and has more features but I can get a route builder in Strava plus all the additional features that come with Strava for a couple of pounds more.

If that works for you, great!

Strava’s implementation takes a fundamentally different approach. They essentially take a map, pin it up on a dart board, and throw 2 or 3 darts at it, around a reasonable distance away from the given start/end, that, when strung together (as if you clicked around on their route builder), makes a route around the length you wanted, leveraging their routing profiles.

That’s it, and I’ve done that in the past, and it was even tested by escape collective!

A. My service can find the best route in an entire area, like the most scenic and curvy.

B. I used massive AI models to figure out which roads are paved an unpaved, every single one, with 98% accuracy. Strava, Garmin, everyone else, uses OSM data, which only has around 14% of the roads categorized in many areas, and it’s about 85% accurate from there.

C. My service can generate a point to point route of a desired distance and qualities, so, you can make that perfect 100km route to the cafe 5km away.

I… Also wrote a massive program that walks every single road, and every 25m “looks” at head height in the surrounding area to see if there are scenic things to see (mountains, old growth forest, lakes, historical buildings, sky scrapers) or if something like an amazon warehouse blocks your view.

I built a “traffic” dataset by running 10 billion point to point shortest path routes for cars between every population center in NA, and another 10 billion in a similar fashion in EU, to figure out homogeneously which roads you probably don’t want to be on.

I also figured out how curvy every road was.

This is also in the app (although the verbiage hasn’t been updated to reflect the fact that it now spans EU and NA), but feel free to check it out my datasets as overlays: Sherpa Overlay Atlas - NA + EU Local

Strava has one solid dataset, their heatmap. However, if I throw billions of data points together in massive models to figure out what roads are probably great to bike on, I happen to get the “heatmap routing” effect they do, but everywhere!

All of this said, I also pay for Strava premium and had used their route generator in the past, but… it caps at around 90ish miles, makes weird out and backs, but hey, I guess it’s easy to be critical.

… I might be working on an alternative to their segments too:

That’s an extremely rough early look at a totally different project, where I auto generate hundreds of millions of segments and perfectly map passes from activities to them, but, suffice to say, if you’re a big fan of Strava, you might like some of my upcoming projects!

Thanks, I think the issue is the initial onboarding doesn’t show things in my area but Iowa (iirc). It seems to be teaching me the UI but that makes it confusing that it’s not generating (or fake generating) a map based on where I am.

I then skip a bunch of things to finish the onboarding, and then I am asked to put my actual location in and pay. This is where it would be nice to have perhaps 3 routes that I can export (because that’s the real value) as part of the trial so I can see how it might compare versus RideWithGPS or other services.

Interesting, we’re using map tiles from https://www.maptiler.com, I’ll have to look into that vendor and see if there’s some sort of outage or issue in that area. I’ll look into it myself now that I know the general area (I’m in WI, so I test quite a lot in the area).

The trial has the full functionality of the premium service, with route export and the ability to follow said route.

Once a route is generated this download button should be apparent:

Then it should offer a screen like this:

I admit this is a very new app and we’re still working on many details. It’s a team of three friends who built this, I created the infrastructure/backend, another friend handles the UI and the other handles our servers and other hardware. We’re constantly finding bugs to fix and areas to improve, so I appreciate feedback about any of the issues you’re encountering. Feel free to post any screenshots or go into any additional detail.

I may not be doing this right but each time I try to generate a route, I am told “Premium is required to generate routes” and I am taken to the payment screen. There isn’t a trial option.