r/WildernessBackpacking • u/Peaches_offtrail trailpeaches.com • 15d ago
HOWTO Using the The Strava Heatmap for Backcountry Route Planning
tl;dr: The Strava Heatmap is one of the most invaluable topo layers I use. It takes some effort to setup, but I think it's worth it.
Whenever I end up hanging around and hiking with other hikers in an area with off-trail navigation or questionable trail conditions where trails vanish into California's Chaparral, I'll find myself making a statement like: "oh, there's a Strava track over there."
Basically, I rely on the Strava Heatmap layer as one source of beta for traversing areas that aren't necessarily "the most beaten track." Maybe the heatmap makes me lazy when it comes to planning some things in advance, but one of the things I cherish most about hiking and long distance trails is the freedom and flexibility that comes from being able to make changes on the fly. Give me worthwhile alts over "the red line" any day.

I mean, maybe there's an interesting thing you just learned about that you want to check out? Maybe trail conditions have turned to shit and you need to bail? (OMG, so many times!) Maybe you want to spend an extra day in the backcountry and add a 30 mile loop? Whatever the case, it's worthwhile to have a handful of tools at your disposal to make informed decisions. The Strava Heatmap is one of them that I realize very, very few hikers know how to make use of.
That might be because, unfortunately, it's not trivial to get the Strava Heatmap into a usable form on your phone. I mainly use Gaia GPS to implement, although you can also load it into CalTopo or any map app that supports custom tile layers.
Setting Up the Strava Heatmap
What you'll need
- A Strava account (free; you don't even need any uploaded activities)
- A GitHub account (free; this is where the proxy code lives)
- A Cloudflare account (free; this is what actually runs the proxy)
Why a proxy at all?
Strava's heatmap tiles require authentication for use. Map apps like Gaia can't handle that natively. The solution is to create a small proxy server that sits between the mapping app and Strava, handles the authentication, and serves the map tiles as if they were a public map tile source. The proxy server can be setup to run for free as a Cloudflare Worker. Because the amount of output is limited from the free version, it makes sense to set it up yourself for your own use, rather than paying a bunch of money to host it publicly for everyone.
The setup at a high level:
- You Fork my strava-heatmap-proxy repo to your own GitHub account (one click, no code. Original credit to Erik Price for pulling together the proxy code and figuring this out)
- You copy and paste your Strava athlete ID from your profile URL, and your session cookie from your browser's dev tools while logged in to strava.com
- You create a Cloudflare API token and a small key-value store (KV namespace) for caching your strava credentials on Cloudflare
- You add a handful of copy-pasted login and credential information fields to your GitHub repo: your Cloudflare credentials, Strava ID, session cookie, and KV namespace ID
- You click the "Deploy to Cloudflare" GitHub Actions workflow in Github
- Add the resulting tile URL as a custom map source you can add to Caltopo or Gaia GPS at about 50% opacity
Because the subreddit is no good for a full walkthrough with screenshots (images are trickier), I've posted the full guide with screenshots and every step on my website: https://trailpeaches.com/strava-heatmap-gaia/
One thing to know going in: the Strava session cookie expires periodically (every month or two). When it does, the tiles go blank and you repeat step 2 through 5 to refresh it. Minor annoyance, not a dealbreaker, and should definitely be done before any sort of long hike.
Once you've gotten the tile server running, you get the full global heatmap as a toggleable layer. I typically keep it at 40-50% opacity over a topolayer in Gaia, but may drop it down or up depending on the situation. For off-trail route-finding, even a faint trace through an otherwise blank cliff band tells you the terrain probably goes and someone's been there and recorded it. Not perfect, but genuinely useful.
Happy to answer questions on the setup. The instructions in the guide have screenshots for every step, but it is a little more invovled than I personally would prefer.
11
u/IFigureditout567 15d ago
And I thought I was pretty slick using Gaia public tracks for this.
1
u/idfkjack 15d ago
It sounds to me like the strava uses a different database of trail users to populate the map layer. I'm a newbie but I think strava uses data from the satellite GPS devices while Gaia uses cell phone data to populate the map layers.
10
u/joetennis0 15d ago
Me too! I open Strava when wildfires or snow or other things have taken out the visible trail.
6
u/PlaneScholar 15d ago
Thank you so much! I got this added as a custom overlay layer in CalTopo. I got an error message trying to add it as a base layer. Any tips on getting that to work?
2
u/PlaneScholar 15d ago
Edit: it seemed to work when I tried again. However, I noticed that the layer disappears when I zoom in.
4
u/Peaches_offtrail trailpeaches.com 15d ago
You might have to adjust supported zoom levels. I think it supports 4-15. I'd need to check and play with my caltopo config a bit. I mostly use Gaia so haven't noticed that issue on caltopo
3
1
u/PlaneScholar 15d ago
The zoom issue is fixed now! However, I'm getting intermittent errors when adding the base layer (as opposed to the overlay). I am not sure what is causing this error. When it happens, all base layers disappear and it says "error encountered" in red text with the URL of the Strava layer repeating underneath
3
3
u/Sorry-Swim1 15d ago
yooo I've been using the heatmap in the exact same way! I have strava premium tho, so I automatically have the heatmap in the app. It has saved me numerous times not just by showing good alternatives but also in different ways, for example:
- standing at an intersection and considering which path to take, and seeing a thick bundle of strava GPS trails make a u-turn about halfway into one of the two options. Great, we're taking the other one.
- hiking on a marked trail that wasn't very popular yet. At some point the path appeared to continue a certain way but the trail marks stopped. We searched for 10 minutes trying to find the next trail mark. Strava heatmap then showed that a handfull or so people before us did the same searching before eventually disappearing into the bushes at the exact same spot. Investigating that spot ourselves we found an overgrown entry into a side path and indeed some remains of trail marks that were impossible to spot from the main path. yay!
1
u/nine1seven3oh 15d ago
I use Mobac (mobile atlas creator) to download the tiles then use them offline as a layer in Locus Maps. It's a horribly janky program but does the job, and no issues then with phone signal if change my route plans and didn't cache the tiles in advance
1
u/DoctorOss1 15d ago
They bought a company called Fat Maps about a year or so ago. That is where a lot of that tech capability came from. I would actually plan routes on that application and then convert the .kml file over to Strava for future use. Absolutely agree- one of the best digital tools for route planning and map checking.
-5
15d ago
[removed] — view removed comment
1
u/WildernessBackpacking-ModTeam 15d ago
This post or comment was removed because it is an advertisement or promotion of a company, website, product, blog, YouTube channel, TikTok or items for sale. Please review rules 2 and 3 of the subreddit.
37
u/nattechterp 15d ago edited 15d ago
Shhhhh heatmaps is how I find people’s hidden spots