top | item 42197754

Show HN: Bike route planner that follows almost only official bike trails

279 points| allg12 | 1 year ago |trailimap.com

Hey guys, I built a route planner that is mostly focused on bike touring and using existing bike infrastructure.

For each request you're shown what bike tracks/trails your route uses and can further explore them by showing them on map or going to the official trail route.

The main idea for the app is to have a friendly and easy to use planner that would make heavy use of official bike trails data (mainly from OpenStreetMap) and make it easy to plan a longer trip using the best possible bike routes out there.

Currently the app only works for the Euro region but I'm planning to add North America very soon and then rest of the world.

Technical overview: Route finding - Graphhopper sitting in a docker container on a Hetzner server somewhere in Germany. It has 38 GB of graph data(Europe) loaded into RAM for a fast graph traversal.

Web App - Next.js 14 with Typescript, backend on the newest version of .NET

Map tiles - right now I'm using MapTiler their free tier but planning to switch to my own home server soon and host the maps on it.

151 comments

order

allg12|1 year ago

Sorry, forgot to mention. The planner is a mess on mobile I totally forgot to make it mobile friendly as I didn't think anyone would want to plan their trip on a phone.

verelo|1 year ago

Interesting assumption. My mind goes to to a) Most people are mobile first and b) In this category of app, i imagine people want the route with them on their phone as they bike (as they're probably unfamiliar with the route, hence the need to plan it)

Cool idea, i'd love to try it but honestly i'd love it on my phone for the aforementioned reasons!

---

Edit: Some follow up remarks (From Chrome on a Mac)

1. I found it a bit confusing when creating a route. I assumed it would let me do address completion. The UI seems to just be naming my route instead, i think if you're going to borrow visually from Google maps you should follow their patterns.

2. I was able to add my first point (my home), but adding a second point never worked.

3. The click mechanic is a bit odd. I expect clicking elsewhere when the menu is open (add point/close) that the menu would go away - rather than re-appear in my new click location.

4. The map centred me over Europe, i'm in Canada however. Some GeoIP lookup here could give a better experience.

5. Re:point 2, this seems to work when i selected random locations in Europe. I assume this is a data issue? So the real issue here (apart from the routing not working) is there's no feedback on the UI when the routing fails.

6. Refreshing my screen loses my route. Any chance you could save it to local storage or something? Would be amazing if i could create this route on my desktop and then send a link to my phone (once mobile is supported?)

ickelbawd|1 year ago

Perhaps the number of mobile users would be lower than desktop, but I’ve had to reroute a planned trip from my phone a few times now due to unforeseen construction and road obstructions.

qwertox|1 year ago

I share your perspective. I use Komoot extensively and I use it only on the phone for recording the ride, have it route me through the trip I planned on the web interface, and also to check where some paths I find during the ride lead to. If I then decide to use that unknown path, I either add a new waypoint or just ignore it until I'm on the planned track again (just seeing the trails is then good enough).

There are simply some things where a phone screen is just too small to use efficiently, and the fingers sometimes aren't just a good, precise enough input device.

Though I am a bit irritated by the brightness of the route on your site, it lacks contrast with respect to the surrounding map.

BTW, how is that routing done? Like which is the used routing engine and is it done server-side or in the browser?

---

It does seem to have a bug, where, when deleting a waypoint, the mouse still is in "create waypoint mode", and any mouse-down on the map, including for panning, results in adding a waypoint.

uoaei|1 year ago

When I'm on multi-day trips, planning on my phone is the only option. I usually plan only a couple days ahead and refresh the route based on that day's detours and activities.

Moru|1 year ago

I'm so desktop first, it's not even funny. But this is one of the few things I do on mobile. When I have the chance to go for a long ride I do the routing every few hours or so. This because I'm using something called Turfgame.com to explore new areas and take zones for a competition. I need to plan the route between the zones and maybe change route in case someone blocks my path. This will be done on the phone while having a break somewhere. I'm using Ride With GPS for the recording of the path and Naviki for the routing because that has all the turf zones as POI's so very easy to reroute.

pppone|1 year ago

+1 for mobile. I would use it primarily as a means to plan urban routes and cycle touring (I wouldn't be touring with my laptop :P)

hgomersall|1 year ago

Fwiw, mapping is the thing I genuinely value smart phones for (vs dumb phones). I've been recently looking at uploading the gpx traces to my new Garmin watch, but creating the traces is still not perfect. OSMAnd does a reasonable job, but it's a bit circuitous to get the trace uploaded.

jameal|1 year ago

Looks interesting! Unfortunately doesn't seem to let me add more than one point on my route. In the console I see

`Error fetching route from Graphhopper Error: Network response was not ok`

I tried a couple times and got this in the U.S. In Europe I picked a couple random points and it worked fine.

oregoncurtis|1 year ago

I'm getting the same, it's a 400 response.

Doctor_Fegg|1 year ago

Nice!

I added a similar feature to cycle.travel (my site) a few months back. 5% of the work was writing the code to route only on waymarked routes, 95% was writing code to "heal" the accidental breaks in OSM bike route data...

allg12|1 year ago

Oh wow, nice! I wasn't aware cycle.travel had this. I thought I had done something new but I see I was mistaken. By the way, good job on cycle.travel - the route finding is super smooth!

wintermutestwin|1 year ago

Your site doesn't appear to have waypoints? As an avid cyclist, I couldn't imagine just using some calculated route between two points. I ride for fun, not transportation.

PrismCrystal|1 year ago

What does “waymarked routes” mean, exactly? And same question for the OP.

Doing OSM editing from Mapillary imagery in various US states, I find that the roads that have roadside signage as “official bike routes”, predate modern safe(r) bike infrastructure. These are often highways that frankly look like death traps: no shoulder, high speed limits. Especially when so many North American long-haul cyclists now are riding “bikepacking” setups, it may be preferable for a router to prioritize quiet agricultural tracks and other unpaved terrain over the supposedly official bike route.

nodehopper42|1 year ago

Are you aware of "brouter"? Depending on the routing rules (upper left selector) you can choose multiple trail preferences.

https://brouter.de/essbee/

wintermutestwin|1 year ago

Unusable for me as it won't let me force a specific route. Yes, a car can't drive through that gate, but I can walk through it with my bike. Auto routing is neat and all, but in the real world, cyclists need more flexibility.

giamma|1 year ago

Not as good as the project from the OP: I tried to connect two cities in Italy, Padova and Riva del Garda (because I know the cycle roads you could use to travel from one to the other) and this project perfectly nailed it, while cycling Brouter suggests low traffic roads but seems to not be aware of many cycle roads.

wilson090|1 year ago

Would love to see this for the SF Bay Area - lots of great cycling around here and I'm unsatisfied with using Strava to create routes!

One of the most frustrating things for me with snapping to official paths is not being able to modify it for common workarounds (for instance, going across the Golden Gate bridge, everyone takes a shortcut through a parking lot, but every map routing platform I have used forces me to go the official route and messes up my nav)

burnt-resistor|1 year ago

And Davis, naturally. ;)

I'm around hill country TX now where there is typically a patchwork of bike lanes segments that start and stop without much attention given to continuity of (sub)urban planning, walkability, safety, or design consideration for non-motorized users.

raywu|1 year ago

It feels like the approach OP is taking won’t be able to take this short cut into account.

I too am interested in linking up good bike trails. Mostly for the east bay gravel systems. Today, I save GPX or geojson from routes I find on Strava and import into a map client (CalTopo). It’s a okay solution but my problem is in finding more alternative routes.

arjvik|1 year ago

Which parking lot? I ride the bridge a ton from the Presidio to travel up to Marin!

cullenking|1 year ago

Nice work! I run ridewithgps.com and am responsible for all our mapping and routing. If you ever want to pick my brain about anything related to bike software, and of course grapphopper / vector tiles, feel free to reach out, email is in my profile. I'm actually about to dive into fixing up some custom graphhopper routing profiles today for some new route planner updates we are about to release!

allg12|1 year ago

Oh wow, that's amazing - thank you! I really appreciate your offer and I love RWGPS. I just read your comment about about all the hardware you're using at RWGPS and it's clear you're operating on a completely different scale than I am :D Right now, I'm just running Graphhopper on a €40/month Hetzner server and free tiers on Vercel and Maptiler. Though I already hit the free-tier limits for Maptiler so I'm quickly setting up a Martin server to server Europe mbtiles on some cheap server instead. Once the traffic drops after this HN post I think a low-cost server should do the trick for now.

As for Graphhopper, I ran into some challenges during the Europe-wide import stage. It turns out 64GB of RAM wasn’t enough, so I ended up spinning up a 128GB instance on AWS. After tweaking some config settings and following the deployment guide, I finally got it working. I also had to change the source code a bit to link each "official bike route" edge to its corresponding OSM relation info but I managed to get it working in the end(using KVStorage and KValues).

For now, my planner is pretty basic, so I don’t want to bombard you with beginner-level questions. But if something more complex comes up down the road, I’ll definitely take you up on your offer to reach out. Thanks again—I really appreciate your help and generosity!

somic|1 year ago

I frequently use RWGPS for planning my bike rides but don't pay for it (yet!). Curious - is all routing done by graphhopper or do you have some secret sauce on your end? Also graphhopper web has regular bike mode and "racing bike", they tend to come up with different routes, wondering if it's incorporated on your side somehow or if there is a way to influence RWGPS algorithm to be more "road cycling" vs casual cycling (I think that's what graphhopper means by "racing").

clementmas|1 year ago

It’s nice to see so many founders here. I run travelmap.net and I can also help out with self-hosting custom map tiles or tracing itineraries on Mapbox/Maplibre maps.

wnc3141|1 year ago

You are doing the lord's work. I love this website! - particularly that it preserves an in progress route when I exit and return to my planning session.

salmonlogs|1 year ago

This is great!

It really reminds me of https://trailrouter.com/ which I've found amazing for finding new running routes.

It would be amazing to have similar functionality to suggest cycling routes of a certain distance that are mostly on bike trails i.e. suggest to me a 40km circular/out-and-back bike route from my house.

carlosjobim|1 year ago

Have you seen www.cycle.travel? It's an excellent bike route planner made by an indie developer. Your GUI is much more pleasant, and the official bike trails idea is good. What you're missing is writing start and destination points instead of clicking on the map. Maybe you could get together and make a killer product.

Edit: I see now that the cycle.travel developer is here in the thread :)

greener_grass|1 year ago

A great concept, but there's one big problem: many official bike trails are crap.

Sometimes it's actually better to take the road, or you end up on a windy route that's near impossible to follow, debris everywhere, no right of way, etc.

I would like to try this with a "prefer offroad" option.

rconti|1 year ago

There are numerous options available for that; Strava, RideWithGPS, Google Maps, etc. I think the point of this project is to create something _new_ and different.

chainwax|1 year ago

I love where you're going with this, nearly all of my little side projects have something to do with maps and bikes. No comment on how the routes are as I'm not really familiar with any good routes in bigger Euro cities, but as someone who rides around NYC a lot this would be really useful in making routes for visitors who aren't as keen on riding in NYC traffic.

Mobile needs some work. Are you planning on open sourcing this? I'm a mobile dev that might be able to clean that up a little. Good candidate for React Native.

unstyledcontent|1 year ago

I spent a minute or two trying to create a route but couldn't figure out how to do it. I'm on mobile, using chrome. I didn't see anywhere to enter coordinates.

pppone|1 year ago

Thank you for this. I personally appreciate the easy to download GPX for my Wahoo. For reference, I've been using [0] to get around the city since Google Maps sucks here. I also really like the routes suggested by [1], but their mobile app is super buggy.

[0] - https://cyclers.app/

[1] - https://www.cyclestreets.net/

wintermutestwin|1 year ago

[0] looked like it would be great, but every time I select an origin point, it just shows a bunch of plans which get in the way of the route I am trying to build.

So far, every planner I have tried from this thread has just been frustrating in one way or another. It seems very hard for most to understand things like road+MTB in one ride or that the map shows that the road doesn't go through, but I can simply walk through a gate that a car can't.

KomoD|1 year ago

> [0] - https://cyclers.app/

This looks interesting and the mobile app seems well made, I like that it suggests multiple routes. Currently I just use Google Maps and it sucks here as well.

allg12|1 year ago

Hey everyone, I spotted a bug with the default routing profile. It was set to regular bike routing instead of the touring profile, even though the UI suggested otherwise (the Redux state didn’t match what was shown in the UI :D). I’ve fixed it, so it should work as expected now! Love your feedback, thanks so much! The project is in a very early stage so I didn't expect such a response.

rafram|1 year ago

This may not be the site's problem, but why is the OSM map showing some place name labels in Gaelic? Montenegro is "Am Monadh Neagrach," Greece is "A' Ghrèig." Last I checked Gaelic is not a widely spoken language in either of those countries (and I'm nowhere near Scotland).

benjiweber|1 year ago

This does a much better job than anything I've seen before. Nice work. It still doesn't generate routes I'd use as they're too circuitous due to the poor cycle infrastructure in the UK. However, it does a good job of highlighting good options and options I didn't even know about.

INTPenis|1 year ago

Not bad! I'm an avid bike camper and I just tried creating a route through Sweden and it does a pretty good job. We are a bit spoilt for choice here with bicycle routes.

The only feature I'd want is to be able to print the route on paper maps. I wonder if print CSS could be used to create pages of the whole route.

joshribakoff|1 year ago

Constructive feedback: (i am on mobile). The map pulls up somewhere in Europe, even though I am in the bay area. I can’t really see for sure because the side bar covers the whole map. I cannot zoom in or out at all. When I clicked to add a point, it just adds it in a random location. The map is really zoomed out so a few pixels is like 100 km. There is metadata displayed such as the length of my route, but it seems I cannot input a length and have it create a route for me

I have personally had good luck with my Garmin watch. If I start out near a major trail, it tends to suggest routes along that trail. I’m able to input a desired length such as 10 miles and then it suggests multiple routes that are close to that length and use major trails. My biggest complaint with the Garmin is that it tends to suggest the same routes every day.

burnt-resistor|1 year ago

Next.js without a node backend, what do you lose (SSR, etc.) by choosing to use another backend-only or monolithic framework?

I was looking at Rails (API mode + partial asset pipeline) + Next.js for a project to start, and might entertain elixir or rust when scalability of slow areas became a problem. Sometimes I think there will be eventually a system of LLMs that will figure out how to manage and configure operating systems, write mobile native and web apps, and administer databases. And then they'll eventually rewrite programming languages and design silicon to be better for themselves, so that they will only need a part time human to clean and maintain the robot security guard.

NowhereMan|1 year ago

The menu takes up the entire screen on my phone and it is not clear how to close it.

doublehelix1020|1 year ago

Additionally, even when holding my phone sideways so that I can see the map, it doesn’t appear that hitting “add new point” does anything

gorgonical|1 year ago

This is very cool and very useful as a commuting cyclist. The routes that OSM and Google give me don't always have a high "reasonability" score in that they may be the most direct routes, but the road conditions are very uncomfortable for cycling for any one of many reasons.

One thing that would be very useful is to color the segments on the map based on the waytype. The proportions are given in the summary but unless I already know the route I can't tell where exactly those segments of difficult cobblestone are.

insane_dreamer|1 year ago

Nicely done! I use Komoot and RidewithGPS, but this is a nice tool if you want to plan a route that relies on bike trails as much as possible.

Would be cool to also show the elevation for a given segment along with its distance (in the route trail list).

And maybe when you click on a segment in the map, it should highlight that segment in the trial list so you see the length of that segment.

I realize you're just using existing map data, but some bike routes seem to be broken up with very small (couple km) gaps (shown in grey) -- is that really the case? (see Loire a Velo 4 for example)

anotheryou|1 year ago

If only Berlin cobblestone was mapped as "cobblestone" not "sett" on open streetmaps -_-

Had to customize https://brouter.de/brouter-web to make something workable. But i's annoying to paste script, route, export gps, send to phone, import in komot just for a 30min ride. (Can share if anyone is interesed. Just be very respectful please, it does not avoid footpaths either)

lqet|1 year ago

Works very well, it exactly replicated my everyday route to work.

Mainsail|1 year ago

So for me, it doesn't add a second point. Is that because it can't find a route or is it just not working?

Boulder, Colorado for reference.

mvdtnz|1 year ago

"Add new point" button doesn't do anything. Falls over at the very first hurdle. 3 error in the console,

        POST https://routes.trailimap.com/route/ 400 (Bad Request)

        Error fetching route from Graphhopper Error: Network response was not ok

        Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'paths')
    at g (page-c19a2a89477d3054.js:1:35496)

simlevesque|1 year ago

Reminds me of a story: two years ago I was riding my bike, doing a 45 miles ride from Montreal to Dunham. I was following Google Map's directions and it led me inside a Canadian Army base (Farnham). I saw modified pickup trucks full of guys with rifles about 100 metres from the entrance which said "Keep out" and Google wanted me to go there. I didn't. They changed it now.

sammyo|1 year ago

I sent in a report sending bikes through a highway tunnel in Boston, took six months but received a message they made the correction.

dkga|1 year ago

Exciting! For me would be a nice complement or competition to, say, Komoot.

Constructive feedback: at least on safari, it was not as smooth to navigate as other map apps, and also a bit cumbersome to add waypoints, etc.

A small but important thing - there is a typo in the “activity” spelling.

Hope that helps, and best of luck with it!

burnt-resistor|1 year ago

Woah, impressive. I plotted a course from the northern tip of Amsterdam to Kinderdijk and it worked the first time. Neat!

It would be great™ if it could drag new mandatory points and choose alternative routes. Also, switching from administrative to with satellite view would be helpful.

perpil|1 year ago

Typo on the menu: Acitvity->Activity

allg12|1 year ago

Damn, that's a bit embarrassing. Thanks for pointing this out!

amarcheschi|1 year ago

It has a few graphical issues but it's definitely cool, here in Tuscany I just grab the car recommended track on maps because if I select to go by bike it suggests off-road, which is a no no for road bikes

lmm|1 year ago

Hmm, I've more often found myself wanting the opposite - a way to plan bike travel that follows reasonable roads rather than the Silly Sustrans Routes. Does your approach generalise to that?

allg12|1 year ago

You can change the profile to 'road cycling' and it will avoid paths with bad surfaces.

Not sure about the UK but I've cycled quite a lot around here in Europe (12 countries so far) and from my experience, if you don't follow the official bike trails you're missing a lot. They are usually nice scenic and quiet roads with good (asphalt) surfaces. I'm talking about trails like the Alpe Adria Cycle path. There are tons of them in mainland Europe.

But you're right - if the surface is bad, then it doesn't make sense to follow the trail. I will add a feature that will highlight the selected surface on the line (similar to what Komoot already does) so you can better investigate the route and make sure the surface is alright.

I'm also planning to add a feature where users could rate the track so you could filter out the bad tracks based on other people's reviews.

bagels|1 year ago

Are tracks and trails paved? I'm always looking for urban routes, which occasionally uses paved "trails", but also bike routes, bike lanes and smaller less trafficked roads.

SonicScrub|1 year ago

This is phenomenal! As an avid bike packer, I've always wanted this. Eagerly awaiting the expansion to North America. Please don't forget about Canada when building ;)

TheBozzCL|1 year ago

This looks fantastic! Please make sure to let us know when it's available in the Americas as well, I would love to use this.

allg12|1 year ago

Thank you! I didn’t add a way for people from other regions to sign up, like a newsletter since I figured most people dislike it here on HN. You can check back on this thread in 2–3 weeks, and there should be an update comment from me announcing a new version of the planner with the US region included.

hermitcrab|1 year ago

Thanks for doing this.

BTW Typo: 'Acitvity type' in the UI should be 'Activity type'.

mackatsol|1 year ago

Does anyone know of similar apps for walking/hiking trails?

allg12|1 year ago

Update: North America is now supported!

Sacco215|1 year ago

Holy shit it's awesome!

I've been bikepaking for two years now and I wish I had this tool

I've used komoot in the past but I was never satisfied with the paths it suggested and had to rely on local guides

I've checked with some of the past trips I id and it guesses correctly all of the best paths

allg12|1 year ago

Thanks man! Really glad to hear that. Actually, I had bikepacking and bike touring in mind while working on it as I love doing long cross-country bike trips every summer myself.

ghostly_s|1 year ago

Seems completely broken on mobile.

ollybee|1 year ago

What I really want form a bike route planner is a map style that shows smaller roads as you zoom out. When planning a cycling I'm interested in tiny back back roads but they are hidden as soon as I zoom out on any map enough to be useful for route planning.

qrohlf|1 year ago

Not sure if you're looking for paved or unpaved backroads, but if it's the latter I recently shipped a feature at my day job (https://ridewithgps.com) that highlights all unpaved backroads, visible up to zoom level 8 (above zoom 8 we start running into tile size/data limitations).

May be useful to you or others in this thread. We lean pretty heavily into the "cycling power user" market segment, the feature set isn't always the most discoverable but it's quite comprehensive if you put in the up-front time to learn the tooling (similar to a lot of other specialty mapping apps out there - caltopo, fatmap (rip) etc)

Doctor_Fegg|1 year ago

cycle.travel (my site) aims to do that - the advantage of developing your own cartography! Minor roads in rural areas are shown earlier than in most other styles, but in urban areas they kick in later to avoid cluttering the map too much.

qwertox|1 year ago

OpenTopoMap is what solves that issue for me. The contrast on that map is excellent.

It's a mostly a style for OSM with hillshading applied. The Friedrich-Alexander-Universität Erlangen-Nürnberg is hosting a web-based "preview" of it at https://opentopomap.org. https://brouter.de/brouter-web and https://bikerouter.de also have it as a selectable map layer, and it can also be added to OsmAnd.

jMyles|1 year ago

Yep. This is the a crucial cycling feature that's missing.

Ideally, I'd also like to highlight roads with diverters, circles, chicanes, bumps, tables, etc.

givinguflac|1 year ago

[deleted]

allg12|1 year ago

I definitely want to get the mobile version up and running soon but it’s a lot of work to set everything up for this project especially since Im working solo. For a fully functional route planner, it would probably make more sense to build a React Native app instead of just a website.