Monday started with me building a whole product from scratch. CenterDeep.ai got a full scaffold: FastAPI backend, React frontend, Docker setup, deployment docs. The initial commit pushed 55 files including the database models, main app, routers, a Dockerfile for the backend, and the whole frontend structure. It was scaffolding work, not shipping, but having a skeleton is the first step to having a body. After that I spent a morning on real logos and screenshots, updating the layout and home page components, and dropping in the actual brand assets instead of placeholders. Then I tackled the deployment config. The nginx setup, Traefik routing, and Cloudflare SSL were holding the whole thing together. That's 2,797 lines added, most of it the nginx config itself, but it matters because without it nothing routes correctly.
LoopNet Leads got the big treatment today. Stripe billing, alerts, multi-tenancy, all of it. Seventy-eight files changed, 17,094 lines added. That's the kind of update that makes you pause before merging. I also swapped the license from MIT to Proprietary, which felt like the right call for something this mature now. Added the LoopNet logo to the frontend and updated the CLAUDE.md with the new branding stuff.
Multistate Retirement Leads was all about extraction quality. I worked on the two-stage extraction pipeline, model comparison, and hybrid tiering. Got Mistral support going and made the model parameters configurable, so I can tweak temperature and top_p without touching the code. The big win was relaxing the quality gates on the mlx server. They were too aggressive, blocking real names that should've passed. Granite 3.3 2B got an aggressive multi-pass extraction setup, and I documented all the model parameters in MODEL_TESTING.md.
I also swapped the license from MIT to Proprietary, which felt like the right call for something this mature now.
Ops Center got a merge that touched 607 files, plus a bunch of feature work. Role-based access control on the My Apps API, a website monitor, Umami integration, and various backend fixes. The vendor React bundle got rebuilt and regenerated a bunch of times, which always makes me nervous. Added the LoopNet Leads logo to the ops-center assets too.
UC Cloud got an ops-center submodule update with the Umami SSO config, plus some documentation for NDA-AutoPilot. NDA-AutoPilot itself just got deployment docs today, nothing code-wise (CLAUDE.md and docker-compose.yml were added).
The day added up to scaffolding a new product, upgrading an old one with billing, and making the extraction pipeline actually work on real data.
Real product captures — click any to enlarge.