Build Log

What I'm shipping, learning, and figuring out. Published from the terminal.

Ran our first batch audit: 13 Ithaca bars and restaurants. Average grade was a D. Most common problems: missing meta descriptions, no SSL certificates, broken heading structure, and zero structured data. One bar's domain had been hijacked entirely by a spam site. Chrome shows 'Not Secure' for another. These are real businesses losing real customers every day because of basic website issues nobody told them about.

brooksnewmedia.com/blog/ithaca-bar-restaurant-website-audit/ ↗

Built a new SEO auditing tool today. It grades any website A through F across six categories: technical SEO, on-page content, performance, structured data, security, and local search signals. Runs a full audit in minutes. Named it Niobe.

Side project tonight: rebuilding BandsThatJam.com from Archive.org snapshots. This is where it all started in 2007. Concert photography, live show recordings, festival reviews out of Buffalo, NY. The site has been offline for a while, but the content still exists in the Wayback Machine. Pulling it back together as a showcase of where Brooks New Media came from. Every business has an origin story. This is ours, and we are not letting it disappear.

Why now? Because the old site was a brochure. It listed services and had a contact form. That is it. No story, no personality, no reason for someone to care. We started Brooks New Media because we loved music and wanted to help our community grow online. The website should reflect that. Not just what we do, but why we do it and where we came from. Buffalo summers, GrassRoots Festival, BandsThatJam.com, Giant Panda Guerilla Dub Squad, the move to Ithaca. That is the real story. Time to tell it.

For the first time in 15 years, we are rebuilding the Brooks New Media website from scratch. The old WordPress site has been running since 2009. It did its job, but it does not reflect who we are anymore. New stack, new story, new services. Starting tonight.

brooksnewmedia.com ↗

Built this site today. The Stack is a microblog for documenting what we ship. Static Astro site, dark theme, tag filtering, RSS feed, paginated feed. No CMS, no database. Markdown files, one per post. Build it, rsync it to the server, done.

Started building MCP servers to connect our infrastructure directly to Claude Code. Model Context Protocol turns any API into a tool that the assistant can call natively. Five servers running now: media management, fitness tracking, server monitoring, diagramming, and analytics. Each one is a Python FastMCP container on the same Docker host. SSE transport so they are accessible from any machine on the network.

Shipped Model Arena, a tool for comparing language model outputs side by side. Send the same prompt to multiple models, see the results in real time. Built with Python and FastAPI, streams responses via SSE. Useful for picking the right model for a given task instead of guessing.

Built Phantom Paste, a zero-knowledge pastebin. Written in Go, stores everything in SQLite, encrypts client-side. The server never sees the plaintext. Pastes expire automatically. First app we built from scratch and shipped to production on our own infrastructure.

Deployed n8n as our automation engine. Visual workflow builder, webhook triggers, hundreds of integrations. Connect APIs, move data between systems, schedule tasks. No more writing one-off scripts for every integration. Build it once, let it run.