Nice! How'd the local models do vs gpt4o-mini? Did you spend much time playing with datasette?
I used sqlite everywhere so datasette was good for visualizing scraped and extracted data. Simon released structured generation for llm a few days after I did the project though, so I haven't tried yet.