Is the mountain out? is a question locals have been asking for decades. Views of Mount Rainier (or Tahoma as it was called by local Indigenous peoples) are always a gift and a joy, especially during the Big Dark, the time of year I started working on this project. As a local developer, I thought it'd be fun to try to answer that question automatically as a way to explore ML implementations.

How it works

It pulls panorama images provided by the Space Needle about every 10 minutes and crops them down to where the mountain is usually placed within the frame. From there, I trained models to:

  1. Detect if the frame is good, or if it is bad (blurry, off-target, or dark)
  2. If it's a good frame, classify whether the mountain is out, partially out, or not out

This data is then pulled into the website to provide a history of when the mountain was out.

Space Needle Webcam
every 10 min
AWS Lambda
scrape + classify
S3 / CloudFront
store / cache
Website
you're here!

What I learned

  • Frontend development was totally new to me. This involved utilizing coding assistants like Claude, Codex, and Copilot, and learning how to interface frontend websites with backend resources through CDN.
  • ML pipelines taught me a lot about the difficulties of providing good training data. I built a separate admin page to rapidly label thousands of images, then added comparison filters to clean up disagreements between manual labels and original model predictions. I also started exploring how to set up training pipelines from the collected data for generating new models.

Acknowledgments

I want to thank the Space Needle for providing the images that I use. When I first started, I was trying to figure out how I would set up a camera from my apartment to capture images. It would have taken months before I had enough to make valuable models. Being able to go back and collect historical images was incredibly valuable.

About me

I'm Jacob Knight, a Software Development Engineer based in Seattle with experience in distributed systems development. You can find me on LinkedIn here.

This was just a side project for fun and I've got some ideas on things to add (looking into an Out Predictor using weather data), but if you want to provide any suggestions, feel free to send a message.