Automating Powder Days

Tue, Mar 24, 2026 2-minute read

I love skiing. A lot. I went all in 2021 during COVID. I moved to Colorado and scheduled my winter around getting as many days on the mountain as possible. There was one catch: most resorts required reservations due to social distancing. You could lock in a few days further out but have unlimited reservations within 7 days. These reservations became available at 12:00 a.m. every night. If you didn’t book soon after that window opened or very early in the morning, you were out of luck.

At first, I tried to manage it manually. That lasted about a week. Reservations opened at midnight, and the good days—powder days, weekends, anything remotely desirable, would disappear almost instantly. Staying up every night just to click a button didn’t scale, and missing days because I was too slow was even worse.

So I did what any engineer would do: I automated it.

I wrote a small Python script using Selenium to log in, navigate the reservation flow, pick a date a week out, and complete the booking. Then I wired it up to GitHub Actions to run every night at midnight. Headless Chrome handled the browser, environment variables stored credentials, and a simple webhook ping to IFTTT let me know if it worked. It wasn’t fancy, but it was reliable, and more importantly, it meant I never had to think about reservations again.

That setup quietly ran in the background all season. Every morning, I’d wake up knowing I had a ski day locked in, without the nightly scramble. It turned a frustrating, high-friction system into something predictable. And better yet, it let me do what I love: skiing.