Dispatch 158
Week ↗

Data browser, band profiles, and Docker

Sunday and I spent the bulk of my energy on the data-intel project. I built out a full data browser GUI. That meant charts, a command palette, and wiring the frontend dashboard to the real backend stats API.…

Commits
13
Systems
3
Read
2min
Product capture

Contact-Ops — relationship graph.

Sunday and I spent the bulk of my energy on the data-intel project. I built out a full data browser GUI. That meant charts, a command palette, and wiring the frontend dashboard to the real backend stats API. It was a substantial chunk of work: over 4,000 lines added across 16 files, plus some backend router and schema changes. I also fixed a SQLAlchemy reserved name collision in the Connection model's metadata column, which was one of those quiet bugs that would have bit us harder later.

The OAuth proxy needed a bit of surgery too. I had the nginx proxy forward the Authorization header so API key auth would actually reach the backend, and disabled header stripping on the skipped routes so OAuth2 flows wouldn't break. Three files changed, zero lines wasted.

On the contact-ops side, I carried those same infrastructure fixes across the codebase. The metadata column rename, the header stripping fix, and the Authorization header forwarding were needed there too, so I applied them consistently.

On the contact-ops side, I carried those same infrastructure fixes across the codebase.

Prolific Sounds got more attention than it usually gets on a Sunday. I added real band member photos and enabled the hero animation. Six new hero images, five member portraits, and updates across 17 files to tie it all together. I also added band member profiles throughout the site, updating the about page, the artists listing, and the homepage. The audio sync and console warnings got a pass, and I fixed the deprecated ESLint config so the build wouldn't nag us every time it ran.

The big one on prolific sounds was the Docker deployment setup. I wrote the Dockerfile, docker-compose.yml, updated the Next.js config, and documented the deployment process. That's over 500 lines added to get the site properly containerized.

Also today: I cleaned up the CLAUDE.md files on both projects so the instructions stayed current with the changes.

Three repos, 13 commits. I'm shipping a data browser people can actually use, a band site that looks finished, and the infrastructure to make both of them not fall apart in production.

Also in the frame

Real product captures — click any to enlarge.

contact ops
contact ops
contact ops