Goal Light Build log
How to extract every Nth frame from a video for ML training

60 videos. 210,000 frames. About 0.5% of them matter. This is how I got the frames out — and why I'm only saving a 400×100 pixel crop of each one.

Goal Light Build log
How to download YouTube videos for ML training data

Before you can train a model you need data. Before you have data you need footage. This is how I got it and why highlight reels beat full broadcasts for this problem.

Keychains Build log
I had this idea for years. It started with a car I had no business loving.

The keychain concept started with a car and a feeling that everything in the automotive accessories market was either cheap or soulless.

Tutorial Tutorial
How to set up a Python virtual environment properly — and why it matters

The one thing you should do before every ML project. Takes 30 seconds and saves hours of dependency hell later.

Goal Light Build log
Deciding what to build and why

I wanted my living room to react when the Leafs score. Here's the full system design and why I chose computer vision over an API.