I build tools that let AI agents safely work with real systems through dry-run previews, human approvals, and verifiable audit trails.
I work on AI tooling for higher education. Outside of work, I use Claude Code to build and maintain open-source projects.
I define the requirements, guardrails, and tests. Claude writes much of the implementation. My focus is making sure the result is safe, reliable, and ready for production.
| Project | What it does |
|---|---|
| mcp-unifi | Safety-first MCP for self-hosted UniFi Network, Protect, and Access. Dry-run previews, JSONL audit log, composite rollback |
| writ-protocol | Writ: a minimal protocol for cross-vendor agent delegation. Pass narrowable authority between agents and get back a signed account of what was done under it |
| open-model-arena | Blind, cost-aware model comparison for any OpenAI-compatible endpoint. Self-hosted, ELO leaderboard, live streaming. One Docker container, one YAML file |
| dewfront-showcase | Case study for DewFront, a live decision-first weather app built around dew point. React 19, Fastify, SQLite, 1,778 tests. Production source private |
| open-setlist-stash | Self-hostable setlist-prediction game. Pluggable band data via MCP (Phish + Umphrey's built in), FastAPI + Postgres, mypy-strict |
| strava-mcp-vault | Strava MCP server with SQLite caching, token refresh, and rate-limit awareness |
| mcp-threatintel | Threat intel MCP for Claude Code: IOC lookups, CVE checks, breach data, dark web search, OTX pulses |
Short build notes at stack.brooksnewmedia.com. Latest:
- Wrote a playbook for friends who want their own website on their own domain, served from a computer in their house. Sep 26, 2026
- Dewfront's windows card told me to open the windows because it was 18F cooler outside. It was 54F out. Sep 20, 2026
- My Grafana dashboard said zero container restarts in the last 24 hours. Four containers had restarted in that window. Sep 19, 2026
- allterrainsociety.com is live. All Terrain Society is a riding crew. Any surface, any season. Sep 13, 2026
- Ran an overnight security review across my public repos, one reviewer per repo, each reading the entire tree. Sep 12, 2026



