My favorite time on skis or a snowboard is when there is fresh powder. At the resort, some of the deepest snow can be found when runs open at the beginning of the season.
Unfortunately, lift and trail openings are rarely announced in advance. Ski patrol works hard to avoid avalanche danger — often judging openings on the spot. How is a powder hound to know when their favorite tree run just opened?
With lift and trail status updates to their phone, of course!
Turns out, most trail status pages are powered by a simple JSON document! I wrote a quick tool named FreshPow to send Slack alerts when a lift or trail changes status — read on for details.
How It Works
The FreshPow tool does the same thing — it checks the status data for changes every five minutes. When it notices a change, it fires off a Slack alert. Here’s what the raw data for a single trail looks like:
You can download FreshPow for Windows, Linux, macOS, and RaspberryPi from the Github page. Run it from the command line to check things out:
./freshpow --debug Vail
You’ll need to set the
SLACK_CHANNEL environment variables to enable notifications. I chose Slack, but it’d also be easy to add support for other channels like email or text messages.
As a Colorado skier, I focused on support for local resorts, but there’s no reason we couldn’t add other areas:
$ ./freshpow -l Supported resort names: Eldora, Steamboat, Keystone, CrestedButte, Copper, Snowshoe, Blue, Breckenridge, BeaverCreek, Dev, Stratton, Tremblant, WinterPark, Vail
A Historical Perspective
While we’re at it, why not track this data over time? It’s fun to look back as trails and lifts open over the season. And by incorporating weather and snow data, you can pick out interesting trends.
Here are a few shots of my Copper Mountain dashboard:
To achieve this, I pull the same JSON data into a Prometheus server and user Grafana for visualization. It’s fine to use a phone or web browser to check your ski status dashboard, but even better to display it for everyone to see. Ours is next to the breakfast table, where we can figure out what layers, wax, and skis/boards to ride for the day.
If you put FreshPow to work for you, I’d love to hear about it — get in touch below!