# Gritmaps: routes for your intervals

**URL:** <https://forum.intervals.icu/t/gritmaps-routes-for-your-intervals/132913>\
**Category:** External Projects\
**Created:** [11 October 2026 15:40 UTC](https://forum.intervals.icu/t/gritmaps-routes-for-your-intervals/132913 "2026-10-11T15:40:08Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jonas\_Chapuis](https://forum.intervals.icu/user_avatar/forum.intervals.icu/jonas_chapuis/32/93079_2.png) [@Jonas\_Chapuis](https://forum.intervals.icu/u/Jonas_Chapuis)\
**Post date:** [11 October 2026 15:40 UTC](https://forum.intervals.icu/t/gritmaps-routes-for-your-intervals/132913/1 "2026-10-11T15:40:08Z")

</div>

![gritmaps](https://forum.intervals.icu/uploads/default/original/3X/1/3/13d0b36473f828d9ad80035290171c1961f63938.png)

Hi all,

[gritmaps.com](http://gritmaps.com) is an app that takes a planned workout from your calendar and finds a loop where the climbs & headwinds line up with your effort blocks.

 ![Effort block on the climb, with wind](https://forum.intervals.icu/uploads/default/original/3X/0/2/025e5c7a21e8a32be1dafd0de92e29384b48e986.jpeg)

**Climbs and headwinds for effort blocks, descents and tailwind for recoveries.**

That’s the idea in one picture: a tempo block from the workout placed on a +7.9 % climb, into an 11 km/h headwind.

Signup on [https://gritmaps.com](https://gritmaps.com) and try it out! It’s in beta and I’d like your help to make it an essential tool for structured training outdoors. Feedback welcome and feel free to vote on what I should build next (poll at the end) 🙏

* * *

## How it works

You plan the session in Intervals.icu as usual:

 ![Planned workout in Intervals.icu](https://forum.intervals.icu/uploads/default/original/3X/9/9/998497520a19bd4a7e7157cc0a4da66da8296809.jpeg)

Gritmaps reads it from your calendar:

 ![Planned workouts from Intervals.icu in gritmaps](https://forum.intervals.icu/uploads/default/original/3X/d/8/d82029cff52fb601975d3e82195257feaa9df361.jpeg)

Route search is treated as an optimisation problem: from your start point it generates candidate loops in 8 compass directions and **simulates physics** , leading to a score for how well the terrain fits the session among other criteria. Some flexibility is allowed for adjusting the workout durations (inversely proportional to the intensity: hard sprints can only be adjusted by a few seconds, recovery up to couple minutes).

**The physics:** a simulation runs over every road segment: gravity, rolling resistance (tyre and surface), aero drag, and the wind forecast for the time you’ll pass that spot. Your FTP and weight (with the bike’s) feed it, taken from Intervals.icu. The predicted ride time is grounded in the physics and power as you follow the workout (the ride in the Timeline shot further down for instance was planned at 1h 36m and took 1h 35m).

 ![Wind on the route](https://forum.intervals.icu/uploads/default/original/3X/9/0/90ebbd7f1d03d66dc53479f53ac4594c0afb4435.jpeg)

Elevation comes from national LiDAR where it exists (0.5–2 m in Switzerland) and Copernicus 30 m elsewhere. Efforts interrupted by junctions, traffic lights or villages are penalised. It can also route hill repeats, and use spare time you give it to reach better terrain. And you can add up to 5 waypoints (a café, a climb you want in), the loop passes through every one.

Recovery rides work too, since it keeps you off the hard climbs.

**Surface profiles.** Routing runs on GraphHopper, the open-source engine komoot also uses, but with profiles I fine-tuned myself. There are five: two asphalt (major roads, quiet roads), two gravel (smooth, rough) and one MTB.

I spent time over the summer refining the profile rules by riding myself but that’s where your feedback can also help 😄

 ![Surface profiles](https://forum.intervals.icu/uploads/default/original/3X/c/a/cabd5592d2b8a26bb9656ce7ef9d24180902ea73.jpeg)

**To your device.** One click pushes the course and the terrain-adapted workout to Garmin Connect or Wahoo. Each workout step ends at a distance on the route, so it fires where the climb starts. The app is still missing the real-time update component, it’s one of my next projects. GPX route and FIT workout can also be exported for other devices.

 ![Push to Garmin with the recommended data screen](https://forum.intervals.icu/uploads/default/original/3X/5/8/583c173533704f09b4d0e619263be2bc4562f480.jpeg)

**After the ride.** The Timeline compares planned and actual. This ride shows 97 % time in target, a 62 % execution match, 1h 36m planned against 1h 35m actual, and a map coloured by heart-rate zone. It can sync the ride to Strava as an optional report, even though right now I’m waiting for the obscure approval process to increase the athlete cap.

 ![Timeline: planned vs actual after the ride](https://forum.intervals.icu/uploads/default/original/3X/1/6/1628307ad8e719340352dfea88c008accd925387.jpeg)

* * *

## What’s next

It’s free, go signup on [https://gritmaps.com](https://gritmaps.com) and I can’t wait for your feedback!

Below some ideas for what comes after, feel free to vote

_Poll ([view on site](https://forum.intervals.icu/t/gritmaps-routes-for-your-intervals/132913/1))_

---

<div class="post-metadata">

**Author:** ![JamN](https://forum.intervals.icu/user_avatar/forum.intervals.icu/jamn/32/91899_2.png) [@JamN](https://forum.intervals.icu/u/JamN)\
**Post date:** [12 October 2026 02:58 UTC](https://forum.intervals.icu/t/gritmaps-routes-for-your-intervals/132913/2 "2026-10-12T02:58:00Z")

</div>

This is a great idea and a welcomed approach to an challenge most of us face. Prior to creating an account, do you have documentation we may read?

---

<div class="post-metadata">

**Author:** ![Manuel\_Oberti](https://forum.intervals.icu/user_avatar/forum.intervals.icu/manuel_oberti/32/70397_2.png) [@Manuel\_Oberti](https://forum.intervals.icu/u/Manuel_Oberti)\
**Post date:** [12 October 2026 05:57 UTC](https://forum.intervals.icu/t/gritmaps-routes-for-your-intervals/132913/3 "2026-10-12T05:57:18Z")

</div>

Great idea—I’ll definitely use it.  
Just a few notes… I only tested it for a practice run, but I think you should also take roundabouts, traffic lights, and busy roads into account. I once tried doing a workout on a route chosen by Gritmaps, but the road was so busy (it was a high-traffic roundabout) that I had to stop.  
Anyway, it’s a great idea, and I’ll certainly be using the app.

---

<div class="post-metadata">

**Author:** ![georgesmith](https://forum.intervals.icu/letter_avatar_proxy/v4/letter/g/e56c9b/32.png) [@georgesmith](https://forum.intervals.icu/u/georgesmith)\
**Post date:** [12 October 2026 06:09 UTC](https://forum.intervals.icu/t/gritmaps-routes-for-your-intervals/132913/4 "2026-10-12T06:09:55Z")

</div>

This is a really useful idea for structured outdoor training. Matching climbs and headwinds to effort blocks could make workouts much more practical. Great work on the project!

---

<div class="post-metadata">

**Author:** ![Jonas\_Chapuis](https://forum.intervals.icu/user_avatar/forum.intervals.icu/jonas_chapuis/32/93079_2.png) [@Jonas\_Chapuis](https://forum.intervals.icu/u/Jonas_Chapuis)\
**Post date:** [12 October 2026 07:02 UTC](https://forum.intervals.icu/t/gritmaps-routes-for-your-intervals/132913/5 "2026-10-12T07:02:51Z")

</div>

Thanks! excellent points. Today I only take traffic lights and intersections into account, it’s part of the _interval continuity_ subscore which weights for 10% and _urban avoidance_ 5% to avoid _entering_ into dense urban areas, and it’s always a trade-off as many subscores contribute to the overall score. Btw you can check the subscores by expanding the little toggle icon up right like in the screenshot

 ![image](https://forum.intervals.icu/uploads/default/original/3X/6/7/67eaf0d761632a4fc2b9fc07dc8bcda7e8bf0083.png)

**Traffic** is an excellent suggestion and as a matter of fact I have started looking into integrating statistical traffic data or calling real-time APIs like I do for weather, so your comment motivates me further to carry on with this. It could be an additional dimension in the scoring.

Excellent point about **roundabouts** , this one I had not considered. I could penalize them for high intensity sprints like I do for intersections.

Thanks again Manuel and keep the feedback coming!

---

<div class="post-metadata">

**Author:** ![Jonas\_Chapuis](https://forum.intervals.icu/user_avatar/forum.intervals.icu/jonas_chapuis/32/93079_2.png) [@Jonas\_Chapuis](https://forum.intervals.icu/u/Jonas_Chapuis)\
**Post date:** [12 October 2026 07:05 UTC](https://forum.intervals.icu/t/gritmaps-routes-for-your-intervals/132913/6 "2026-10-12T07:05:59Z")

</div>

Hi there thanks! sure so there are some technical elements in the _How it works_ part of the landing page [Outdoor structured training, on real roads — Gritmaps](https://gritmaps.com/#how-it-works) have you had the chance to check those out? otherwise, happy to put together some more in-depth information here, feel free let me know what would be of particular interest to you?

---

<div class="post-metadata">

**Author:** ![Manuel\_Oberti](https://forum.intervals.icu/user_avatar/forum.intervals.icu/manuel_oberti/32/70397_2.png) [@Manuel\_Oberti](https://forum.intervals.icu/u/Manuel_Oberti)\
**Post date:** [12 October 2026 07:37 UTC](https://forum.intervals.icu/t/gritmaps-routes-for-your-intervals/132913/7 "2026-10-12T07:37:19Z")

</div>

Thanks @Jonas_Chapuis ,  
As for traffic, if possible—at least, that’s what I would do—I wouldn’t assess it in real-time. Usually, workout planning—and thus the route generated by Gritmaps—is done before actually heading out into traffic.  
You really ought to evaluate the route and the associated average traffic levels for at least the seven days leading up to the workout, so you have an idea of ​​what to expect on the road.  
If I plan it right now, it will show me the current traffic… but I’ll be heading out in the afternoon.  
I hope that makes sense.

THANKS

---

<div class="post-metadata">

**Author:** ![JamN](https://forum.intervals.icu/user_avatar/forum.intervals.icu/jamn/32/91899_2.png) [@JamN](https://forum.intervals.icu/u/JamN)\
**Post date:** [15 October 2026 11:09 UTC](https://forum.intervals.icu/t/gritmaps-routes-for-your-intervals/132913/8 "2026-10-15T11:09:49Z")

</div>

Thanks for the quick reply. Yes, I had a look through the How It Works information and the app does look very useful.

I was mainly hoping to understand a little more about the data privacy and security side of things. There are so many apps and integrations popping up now that I tend to be cautious about connecting anything new to an account until I understand how the app, and the team behind it, handle user data, access, and security.

Any additional information you can share on that would be really appreciated.

---

<div class="post-metadata">

**Author:** ![Andrzej\_Oblong](https://forum.intervals.icu/letter_avatar_proxy/v4/letter/a/e95f7d/32.png) [@Andrzej\_Oblong](https://forum.intervals.icu/u/Andrzej_Oblong)\
**Post date:** [15 October 2026 11:10 UTC](https://forum.intervals.icu/t/gritmaps-routes-for-your-intervals/132913/9 "2026-10-15T11:10:17Z")

</div>

Hi nice app.

I have tested it today—nice work! It would **be** nice to include the heatmap from my recent rides, but I was a little confused **about** how to send the GPX file to my Garmin Edge 840. Any suggestions?

Also, when I send the GPX file, **how do I know which target HR/power zone to train in while navigation is active?**

I am beginner so sorry for stupid questions as I am doing mainly the intervals on smart trainer.

Outside doing only the rides with Power Guide, but it is not a perfect …

There are some missing important information about the GDPR and I saw an issue when deleting my account.

---

<div class="post-metadata">

**Author:** ![Jonas\_Chapuis](https://forum.intervals.icu/user_avatar/forum.intervals.icu/jonas_chapuis/32/93079_2.png) [@Jonas\_Chapuis](https://forum.intervals.icu/u/Jonas_Chapuis)\
**Post date:** [15 October 2026 14:08 UTC](https://forum.intervals.icu/t/gritmaps-routes-for-your-intervals/132913/10 "2026-10-15T14:08:03Z")

</div>

Yes of course, very legit request! So i have this privacy notice in the landing page: [Privacy Policy · Gritmaps](https://gritmaps.com/privacy/) and the terms are [Terms of Service · Gritmaps](https://gritmaps.com/terms/) which you can also access via the “About” menu item within the app. I hope this helps, don’t hesitate to ask more specific questions if you need!

---

<div class="post-metadata">

**Author:** ![Jonas\_Chapuis](https://forum.intervals.icu/user_avatar/forum.intervals.icu/jonas_chapuis/32/93079_2.png) [@Jonas\_Chapuis](https://forum.intervals.icu/u/Jonas_Chapuis)\
**Post date:** [15 October 2026 14:30 UTC](https://forum.intervals.icu/t/gritmaps-routes-for-your-intervals/132913/11 "2026-10-15T14:30:53Z")

</div>

Thanks a lot for the feedback Andrzej!

> [@Andrzej\_Oblong](#):
>
> It would **be** nice to include the heatmap from my recent rides

not sure if this is what you are looking for but you can access a compliance and power map from the Timeline tab once you have ridden your ride: for this, you have to push it initially yes  
 ![image](https://forum.intervals.icu/uploads/default/original/3X/e/6/e6482daf022c731a958a3c0354d2567210c7e44f.png)

 ![image](https://forum.intervals.icu/uploads/default/original/3X/4/a/4a2920c6e53a8bb3dbcc24ee0d43a79ef0341add.jpeg)

> [@Andrzej\_Oblong](#):
>
> a little confused **about** how to send the GPX file to my Garmin Edge 840

to send the itinerary and the adapted workout, click on “Pick this workout” and then “Push to Garmin” button (you need to connect your Garmin account for that first).

 ![image](https://forum.intervals.icu/uploads/default/original/3X/d/2/d27d97d4dc92193f7e4f879407783d6a294b017c.jpeg)

> [@Andrzej\_Oblong](#):
>
> **how do I know which target HR/power zone to train in while navigation is active?**

Once you have successfully pushed you will get a guide (see below) on how to configure your edge for proper navigation with workout targets. You have to first load the workout, then the corresponding course, but the guide shows the steps. I’m planning a connectIQ custom app to make this step easier btw.

 ![image](https://forum.intervals.icu/uploads/default/original/3X/e/8/e8e13d1645fb95d00467e0586242b2f0969966eb.jpeg)

> [@Andrzej\_Oblong](#):
>
> There are some missing important information about the GDPR and I saw an issue when deleting my account.

Thanks, i will make the information more readily available in the menus. Your account was deleted, but I have seen the error you went through, there was a disconnection so you never got the feedback. I will streamline this process now, thanks a lot for the heads up.

---

<div class="post-metadata">

**Author:** ![Jonas\_Chapuis](https://forum.intervals.icu/user_avatar/forum.intervals.icu/jonas_chapuis/32/93079_2.png) [@Jonas\_Chapuis](https://forum.intervals.icu/u/Jonas_Chapuis)\
**Post date:** [15 October 2026 19:39 UTC](https://forum.intervals.icu/t/gritmaps-routes-for-your-intervals/132913/12 "2026-10-15T19:39:13Z")

</div>

@Manuel_Oberti so I have just pushed a new version that includes a traffic score component 🚗🚗

gritmaps now scores an estimated **traffic exposure** for every route, as a seventh axis in the score breakdown that weights for 5%.

> **More details**
>
> After careful analysis, I have first started with a version without live traffic data. Each road segment gets an estimate from its OSM road class and the built-up density around it, so a tertiary road through a town counts as busy and the same class in the countryside doesn’t. Busier segments lower the score. The axis carries 5% of the total, so it nudges the ranking and doesn’t dominate it. It doesn’t depend on the time of day either.
> 
> I checked the estimates against measured volumes. Calling a road busy, meaning 3,000 vehicles a day or more, has precision 72% and recall 71% against the Swiss NPVM traffic model, by length over the Swiss network. On 6,850 counted UK points from the DfT 2025 census, it’s 95% and 88%. Those UK points over-represent A roads, which makes them an easier test, so the Swiss figures are the fairer reference.
> 
> The tradeoff was whether paying the price of the added complexity of adding such external sources of data (which also have limited coverage globally) vs. implementing a “good enough” approximation.
> 
> Across 88 searches in Switzerland (11 start points, rural and city centres, two profiles, two workouts, two ride times), the top-ranked route changed in 15 of them, about one in six. Rural and city starts were affected about equally: 8 of 48 and 7 of 40. When it changed, the new first choice was always the less exposed route. The route that lost the top spot had been slightly ahead on the other axes. The 5% weight is why it takes a close race to flip the order, and a route with a clear power, duration or surface advantage still wins. The effect is largest where a loop has to use a road in town or a primary road to close. City-centre routes sit lower on this axis (median 0.65 against 0.92 rural), so the score separates them most there.

---

<div class="post-metadata">

**Author:** ![Manuel\_Oberti](https://forum.intervals.icu/user_avatar/forum.intervals.icu/manuel_oberti/32/70397_2.png) [@Manuel\_Oberti](https://forum.intervals.icu/u/Manuel_Oberti)\
**Post date:** [16 October 2026 06:37 UTC](https://forum.intervals.icu/t/gritmaps-routes-for-your-intervals/132913/13 "2026-10-16T06:37:29Z")

</div>

Thanks…I’ll try

---

<div class="post-metadata">

**Author:** ![youngoh\_cho](https://forum.intervals.icu/user_avatar/forum.intervals.icu/youngoh_cho/32/73181_2.png) [@youngoh\_cho](https://forum.intervals.icu/u/youngoh_cho)\
**Post date:** [17 October 2026 14:10 UTC](https://forum.intervals.icu/t/gritmaps-routes-for-your-intervals/132913/14 "2026-10-17T14:10:34Z")

</div>

Is it possible for the starting point and the ending point to be different, rather than it being a round trip?

---

<div class="post-metadata">

**Author:** ![gritmaps](https://forum.intervals.icu/user_avatar/forum.intervals.icu/gritmaps/32/93631_2.png) [@gritmaps](https://forum.intervals.icu/u/gritmaps)\
**Post date:** [17 October 2026 16:41 UTC](https://forum.intervals.icu/t/gritmaps-routes-for-your-intervals/132913/15 "2026-10-17T16:41:29Z")

</div>

Not at the moment. But why not yes. Just curious of your use case? Of course if the destination would be further than the workout allows I would have to pad with zone 2 (same as spare time feature)

---

<div class="post-metadata">

**Author:** ![youngoh\_cho](https://forum.intervals.icu/user_avatar/forum.intervals.icu/youngoh_cho/32/73181_2.png) [@youngoh\_cho](https://forum.intervals.icu/u/youngoh_cho)\
**Post date:** [17 October 2026 20:06 UTC](https://forum.intervals.icu/t/gritmaps-routes-for-your-intervals/132913/16 "2026-10-17T20:06:25Z")

</div>

I really like this website’s features. I mostly train alone and tend to ride the same five routes. Having routes tailored to my training gives me more variety and options to choose from.

I don’t want to spend too much time thinking about route planning. Getting five suitable suggestions, picking one, and heading straight out is ideal for me.

Looking at the GPX files, it also seems to avoid dangerous roads. I live in Germany, where I often find B roads uncomfortable for cycling, so I appreciate that the suggested routes mostly follow L and K roads.

---

<div class="post-metadata">

**Author:** ![Paulo\_Pires](https://forum.intervals.icu/letter_avatar_proxy/v4/letter/p/f6c823/32.png) [@Paulo\_Pires](https://forum.intervals.icu/u/Paulo_Pires)\
**Post date:** [19 October 2026 10:17 UTC](https://forum.intervals.icu/t/gritmaps-routes-for-your-intervals/132913/17 "2026-10-19T10:17:45Z")

</div>

Amazing job, thanks for sharing. I’m more into trail running and I did some tests and found the routes that have been generated very similar to what I could use for some runs. I guess very small adaptation is needed to adapt it for trail running. Ping me if you ever go that way and need some help testing or sugesting something. Keep it up the great job. It’s already very usefull for trail running as it is now.

---

<div class="post-metadata">

**Author:** ![Joao\_Samora](https://forum.intervals.icu/user_avatar/forum.intervals.icu/joao_samora/32/27137_2.png) [@Joao\_Samora](https://forum.intervals.icu/u/Joao_Samora)\
**Post date:** [19 October 2026 17:05 UTC](https://forum.intervals.icu/t/gritmaps-routes-for-your-intervals/132913/18 "2026-10-19T17:05:44Z")

</div>

How about this to Hammerhead Karoo

---

<div class="post-metadata">

**Author:** ![Jonas\_Chapuis](https://forum.intervals.icu/user_avatar/forum.intervals.icu/jonas_chapuis/32/93079_2.png) [@Jonas\_Chapuis](https://forum.intervals.icu/u/Jonas_Chapuis)\
**Post date:** [20 October 2026 07:14 UTC](https://forum.intervals.icu/t/gritmaps-routes-for-your-intervals/132913/19 "2026-10-20T07:14:42Z")

</div>

Hi Paulo, thanks a lot for your message! This is so encouraging, because trail running is exactly the next step I was considering.

I need to adapt the physiological settings and the physics model for running so that duration predictions are accurate. Otherwise like you say the effort matching algorithm should work fine, and great to hear that your tests prove it does. I had in mind two modes: train running, where elevation and terrain is the target, and marathon running where one looks for asphalt and flat routes.

I will certainly let you know first hand when I have the running beta! Thanks again

---

<div class="post-metadata">

**Author:** ![Jonas\_Chapuis](https://forum.intervals.icu/user_avatar/forum.intervals.icu/jonas_chapuis/32/93079_2.png) [@Jonas\_Chapuis](https://forum.intervals.icu/u/Jonas_Chapuis)\
**Post date:** [20 October 2026 07:16 UTC](https://forum.intervals.icu/t/gritmaps-routes-for-your-intervals/132913/20 "2026-10-20T07:16:48Z")

</div>

Hi Joao, thanks for your message. I’m adding this integration to the todo list. Is anyone else using Hammerhead in the forum? please like so that I know.

In the meantime, have you tried downloading the .fit workout file and the .gpx to load them manually?

[Next page](https://forum.intervals.icu/t/gritmaps-routes-for-your-intervals/132913.md?page=2)
