chatz: A Self-Hosted AI Chat Where the Assistant Draws the Fucking Dashboard
Every self-hosted chat UI hands you the same thing: a wall of markdown. You ask the model for last quarter’s numbers, it writes you a table in monospace, and if …
Mostly writing code that does stuff…
Every self-hosted chat UI hands you the same thing: a wall of markdown. You ask the model for last quarter’s numbers, it writes you a table in monospace, and if …
The first version streamed over SSE. Then something needed the same turn over NATS, and I found out I’d built the framing into the wrong layer. event: / data: / …
The moment that decides what kind of library you’re writing is the one where a human has to approve a tool call. Everything is lovely right up until then. The …
A page falls out of Google’s index. Now you get to find out why. Open Search Console to confirm it’s actually gone. GA4, to see if the traffic died or …
This repo is six files and does nothing. That’s the post. Two dozen of my projects ship an .agents/ directory — a skill that teaches an agent to drive the …
I already wrote the “why I ripped the plumbing out of my own repos and built a base image” rant in the aicodebox post, so I’m not doing it again …
I was neck-deep in an avatar pipeline and needed two unglamorous things at once: a lipsync pass, and a fistful of ffmpeg operations around it — trim the source, mux …
I built claudebox because letting Claude Code run loose on my host was giving me chest pains. It worked. It grew an HTTP API, an OpenAI-compatible endpoint, an MCP server, …
A while back I needed a box that could rip vocals out of a track, tell me the BPM and key, transcribe a melody to MIDI, and clean up a …
I got the OpenAI Whisper API bill for a month of hooking my own tooling up to it and just sat there staring at the number like it had personally …