From a scraper and scikit-learn to a betting model that grades itself

Back in August 2023 I wrote a Python script that guessed NFL spreads. It was ugly and it worked on exactly one machine. Today that same side project has three sports, a web app, an iOS app, and a scoreboard that grades its own homework. I want to walk through how it got here, mostly through the things I got wrong along the way. This is process, not picks. ...

October 30, 2026 · 5 min · James Penning