About
The goal of this project is to allow for skiers and riders to have a reliable metric with which to compare trails between mountains. Often, a black diamond trail at one ski area is very different from another black diamond trail at a different ski area, especially across geographic regions. This standardized rating scale aims to fix this.
| Pitch (in degrees) | Difficulty | Color on Map |
| 0°-18° | Beginner | Green |
| 18°-27° | Intermediate | Blue |
| 27°-36° | Advanced | Black |
| 36°-47° | Expert | Red |
| 47°+ | Extreme Terrain | Yellow |
| Attribute | Pitch Modifier |
| Gladed | +5.5° |
| Ungroomed / Moguls | +2.5° |
| Typical Weather | Between +0° and + 6° |
How It Works
The data for each map comes from OpenStreetMaps and the USGS. I used the publicly available map data on OpenStreetMaps and elevation data from the USGS in order to create a 3D representation of each resort, then calculated the steepest sections of trail and used tags from OpenStreetMaps to determine things like whether a trail is gladed to create a difficulty rating.
On each map, the degree label on each trail is for the steepest 30 meters. The colors are determined by the same 30 meters plus a set of modifiers based of if the trail is gladed, if the trail is groomed, how much snow and rain the resort recieves, and how often the mountain experiences a freeze thaw cycle.
The colors for each trail are determined based on the table on this page. The table was created by performing a statistical analysis of all the trails in the US to maximize the number of trails that are rated the same as their official rating from the resort, then spot checked by numerous individuals with first hand experience of a selection of resorts.
One of the limitations of this approach is my maps can only be as accurate as the data on OpenStreetMaps. Not all tags are correct, and not all trails are present, or placed accurately. If you find tagging or routing errors, please either contact me and let me know what is incorrect, or correct the issues directly on OpenStreetMaps. More information about correcting errors can be found in the Q & A section below.
Mountain Rankings
There are two types of mountain comparisons: how hard the hardest trails are and how easy the easiest area is. This is created using a weighted average of the top 30 hardest and easiest trails in order to create a metric that describes how expert and beginner friendly an area is, and how it stacks up to other mountains.
20% of the rating is composed from the top 30 trails, and 80% is from the top 5. The color a resort receives shows how the hardest (or easiest) trails are rated, and the actual score can be used for comparisons within the same difficulty color.
Q & A
Why only US resorts?
Unfortunately, not very many countries have precise enough elevation maps available to the public. In order to get accurate results, I need 10m resolution or better. I hope to expand to other countries as better data becomes available.
What about X factor that changes a trail’s difficulty?
A large portion of variance between different trails is explained with the steepness of the trail and whether the trail is gladed, but not all of it. I have many ideas about other factors to consider, but the hardest part for many of them is getting the data. The next step in improving the model is factoring in weather patterns and snowfall.
What should you do if you find a mistake?
Given that the primary source for data is OpenStreetMaps, where individual users come together to crowdsource the map, trail quality can vary between resorts. The flip side to that is that anyone can improve the maps. If you know a resort well and are familiar with contributing to OpenStreetMaps (or want to learn), it would be extremely helpful to have local knowledge to fix problems on a resort’s map. Once OpenStreetMaps is updated, let me know and I’ll refresh the map here. If you find a problem that is beyond what you are willing to fix there (or is a problem with my model/website), let me know and I’ll do my best to resolve it.
Join the Steepseeker Discord Server and let me know about any issues you encounter in the issues channel.
X feature is missing!
Reach out, I want to improve the site over time as I get feedback, and I need to know how the site can be better.
Join the Steepseeker Discord to tell me about what you want to see added in the feature-requests channel.
Where did everything come from?
The trail data is from OpenStreetMaps, the elevation data is from the USGS’s NED10 dataset, and the website and maps are my creation.
Why did I make this?
I’ve always wanted a way to compare trails that was less subjective, and this grew out of a small project I started to see if that was possible. So far I have hundreds of hours invested in coding, model development, and website design. This is an ongoing project that I work on because I’m passionate about skiing, and want to make it easier for people like myself to nerd out about statistics.
Who am I?
I’m an avid skier; I grew up skiing and look forward to every powder day. On a good day skiing, I’ll likely be found in some tight steep trees enjoying each turn. I also majored in data science, and used that combined background to put this website and statistical model together.
How can you help?
This project takes a fair bit of time to create and maintain, and hosting a website is far from free. If you have experience with editing OpenStreetMaps, it would be extremely helpful to help by maintaining your local areas. When new trails get added to a resort, someone needs to add them to OSM, and I likely won’t know that there is a new trail. Also, not every resort has all the trails added, and many are missing tags. For example, I’d love to have more resorts with proper tagging for moguls so I can add them to the model.
If you have made it this far, you will likely enjoy the Steepseeker Discord. Join other like minded skier and snowboarders and chat about the slopes. I also will post updates and announcements on there first.
Changelog
v1.20 Feb 16 2026
You may have noticed a few things trickling onto the site over the last month or so as I made small changes, but now I have enough to warrant an actual update. The headline thing is changes to maps! First, you may have already noticed that the default map type is now the interactive maps. After putting out a poll a few weeks ago, you all overwhelmingly said that the interactive maps are better so now you don't have to click an extra button if you want to see them! Another headlining change is there are now satellite maps! On the top right of the interactive maps, you will now find a toggle to enable satellite or topo basemaps. Other smaller changes include bringing some work I did for the interactive maps back to the static maps like adding the mountain details screen on mobile and other smaller UI/UX tweaks. In addition, there are more new mountains bringing the total to 329! Expect more resorts to be added soon as I also streamlined the process for adding more! Thank you to everyone who filled out the survey I put out, it was very helpful to get feedback from everyone and I do plan on implementing more changes based on what I heard. Consider this to be the first update taking that advice into account. As for everyone using the site, thank you! We are continuing to see more and more daily users, and I'd love to see more people check out this project so I've been very glad to see record usage!
v1.11 Dec 15 2025
Lots of little things this time around, from small UI/UX improvements to large changes in how the interactive map pages look. I also updated a few of the resorts with more accurate trails. Behind the scenes, I added some features to make refreshing a resort faster and some bug fixes. In general, this update is alot of quality of life improvements, but not much in the way of big changes.
v1.10 Nov 3 2025
A few small changes in the lead up to the season (yeah, I know a few of you have been lucky enough to get on snow already). First, and most important, there are now state level filters on the mountain, trail, and lift rankings. Have fun filtering in yet more ways now. Next, thanks to one of the users of our discord for a very through spreadsheet cataloging differences between the trails on Steepseeker and the official maps for all the resorts in Vermont, I have gone through and improved many of those maps (more to follow -- it's a slow task). Finally, I implemented some performance improvement for the ads. Not the most fun thing, but hopefully improves their existence just a bit. Lots more coming up, just need to carve out the time for all the coding!
v1.09 Oct 13 2025
It's been a minute, but it's time for all the mountains to get updated for the upcoming season! All 326 resorts have new trail data and maps resulting in nearly 1000 new trails that are now indexed in Steepseeker! Thank you to anyone who has contributed to OpenStreetMaps over the last few months (and years) as Steepseeker is only as good as the underlying data! For easy reference, every ski resort now has the mountain's official url linked on the map page if you want to quickly reference official information on the mountain. Expect some refinements to the new maps as I go through and fix some mountains that have been flagged by users as lacking proper tags for ungroomed trails and the like.
I've been working on a major rewrite of the whole backend underpinning the website, and while I was hoping it would be ready for prime time before this season, I haven't had enough time to devote to this project for it to be ready yet. Just know that there are big things in motion that should lead to a more accurate ranking algorithm and significantly easier codebase to expand upon for upcoming features. I have some exciting stuff planned, so stay tuned. Hopefully I'll have a little more time to work now that we are into fall.
v1.08 Jan 24 2025
New Year, more updates! The big new feature this time around is an elevation profile of each trail on the interactive maps. Whenever a trail or lift is selected, click on the elevation graph button at the bottom of the map to see finer details about the topography of the trail in question. This is a great tool for those who want to over-analyze everything, or for those trying to visualize why a trail gets the rating it does. There are two different charts to look at: one showing the rated difficulty for each section of trail, and one that shows the raw pitch of the slope with no difficulty modifiers applied. In addition, I've made a bunch of smaller UI/UX tweaks to improve the site experience, and some behind the scenes changes to make the website play nicer with search engines and the like.
As for upcoming changes, all the stuff I mentioned back in December is still in the works, but the elevation profiles turned into a bigger lift than expected. I'm really happy with how they turned out, and I hope others find them helpful too!
v1.07 Dec 26 2024
Small update this time around, primaryly addressing a few bugs and adding some UI/UX improvements. I now have calculated the average pitch for all lifts, so if you want to go find the best lift to rack up tons of vertical you now have an easy way to do that. While I have kept away from running advertisements up until this point, the site is taking off to the point that my webhosting costs are rising, and to cover those additional expenses I will be serving advertisements. For those of you who despise ads (I'm not much of a fan myself), I won’t be offended if you want to run adblock. I'll do my best to keep them from being too intrusive.
v1.06 Dec 18 2024
Tons of little, and some not so little improvements over the past month. The biggest changes came to the Explore Maps page (formerly the Explore page). Firstoff, the page was renamed since despite it being one of my favorite pages it isn't frequently visted. I'm hoping a more descriptive name will help others take a look. Also, the page is now vastly more useful with the mountain names being always visible meaning that you no longer have to play whack-a-mole clicking on icons to find one particular mountain on the map. The other big change is that I now show what multi-mountain season passes each resort has agreements with, so now you don't need to go elsewhere to see if a certain resort is part of your pass. Beyond that, the Lift Rankings page recieved a facelift and more information: I now show which chairlifts have a bubble on them. There are also a number of smaller UI/UX tweaks scattered across the site.
Expect more changes in the near future, the next update will likely contain lots of new ways to filter the rankings pages and the Explore Map screen. I'm also working on some backend tools to make adding new resorts easier, so expect me to go on the hunt for more places to add soon.
v1.05 Nov 18 2024
Back in September as part of my yearly refresh of all resort data and maps, I started cataloging more information about each lift, including how many people per chair, ride time, whether it has a bubble or heat and those sorts of things. While that information has been available since then, this is the first update to do more than just show this information on the interactive maps. Now, there is a whole new page for lift rankings! Expect more to follow, as it is still pretty bare bones.
Behind the scenes, quite a bit has happened. In my September update I reworked my backend tools to make updating resorts and fixing errors much easier, and with this update I made some significant changes to the database to allow for easier debugging of issues as well as laying the groundwork for some future features. Unfortunately, this lead to some annoying issues when deploying to the production server leading to an hour of downtime while I troubleshooted file permission issues. Also included in the update are some small bug fixes. Expect more to follow, a good chunk of this update was backend work that won't payoff until later features come!
v1.04 Sep 25 2024
Yearly refresh time! All resorts have fresh data and maps. Significant changes made to my backend tools to vastly improve the efficiency of updating resorts and fixing data errors. The interactive maps now have more to say about each lift! Things like how many people per chair and whether there is a bubble or heat on the chair are now displayed in the popups, and this information will get rolled into more features in a later update.
v1.03 Mar 09 2024
Mainly small improvements and some back end bug fixes. Improved performance of interactive maps, especially for larger resorts. Added a handful of new resorts, bringing the total to 327. One of those is especially noteworthy (Whistler Blackcomb) as it marks a trial into whether I can get sufficiently accurate results from Canadian elevation data. If everything checks out, I will look to add more Canadian resorts in the near future, with a goal of similar levels of coverage as the US by next season.
v1.02 Feb 22 2024
Couple big changes this release, mainly to the interactive maps. New stuff includes:
- Added user location button to explore page & interactive maps
- Added map rotation button to interactive maps and now interactive maps are rotated to match the static maps by default
- Added basic labels to all trails and lifts on the interactive maps without having to click on the line
- Unified button appearance throughout website
- Added another ski area bringing total to 322
- Improved trail placement accuracy on OSM for a number of resorts. This resulted in a few changes to the rankings
v1.01 Feb 02 2024
Small tweaks to UI/UX. Added the Discord server to the about page.
v1.0 Jan 25 2024
At some point, I need to consider this project “done” even though I have many plans for upcoming features. This seems as good a point as any to consider the end of the first major revision. New in this release are:
- Improved mobile menus
- Added 40 ski resorts bringing the total to 321
- Refreshed all existing ski area maps (live as of late December)
- Added interactive maps (accessible as of early December)
- Added explore page (accessible as of early December)
- Small UI/UX improvements
- Bug fixes
Expect more changes in the coming months, I have many ideas that I plan on implementing. If there is something you want to see, let me know! I’m much more likely to implement something that I know other people want. Going forward, expect this changelog to reflect changes and improvements as I make them.