Friday started with the kind of infrastructure cleanup that doesn't make product blogs but keeps everything from falling apart. I replaced the partial export in ca-retirement-leads with a full database dump, including the Form 5500 filers. The old approach was cutting corners on data completeness, and it was showing. Three files changed, mostly swapping the old enrichment dump for the full thing. I also uploaded the caqr_app_icon.png to the frontend public folder, which was a todo that had been sitting there too long.
But the real work was in multistate-retirement-leads. We shipped local AI enrichment using MLX and the Granite 3.3 2B model. That's over 4,000 lines across 28 files, and it changes how the whole enrichment pipeline works. Instead of leaning on external LLM providers for everything, we can now run enrichment locally on machine. It's faster for common cases, cheaper, and gives us control we didn't have before.
The changes touch the core of the app. I rewrote the main router, updated the models, added new routers for benchmarking and ingestion, and built out the service layer with both a fast lead generator and the full one. The LLM enrichment and provider layers got a thorough pass too, along with the scheduler that ties it all together. Twenty-eight files is a lot to ship on a Friday, but the scope felt right. This wasn't a scatter shot of small changes, it was one coherent arc, moving enrichment from external dependency to local capability.
We shipped local AI enrichment using MLX and the Granite 3.
Also today: updating the data README to reflect the new dump structure, and cleaning up the gitignore in multistate-retirement-leads to keep the local model artifacts out of version control.
Two repos, three commits, but one of them carried the weight. The local enrichment model is the thing I'll be watching closely over the next few days, once it's processing real data. The database dump was overdue. Together they add up to a Friday that actually moved things forward.
Real product captures — click any to enlarge.