LatestMay 09, 2026·3 min readDoorman 2.0: Cloudflare WAF Support and a New Config FormatDoorman 2.0 ships Cloudflare WAF support alongside Vercel Firewall, a new .doorman.json config format, and 1,100+ tests backing a production-ready multi-provider firewall CLI. Read Article →
May 08, 2026·9 min readink-enhanced-select-input 1.0: headless hook, multi-select, search, and groupsA look at everything that’s landed in ink-enhanced-select-input on the road to 1.0: a headless hook for custom renderers, multi-select mode, inline search, item groups, scroll indicators, Escape/cancel support, and 133 tests – including a real bug caught by writing edge-case tests for backspace handling in searchable mode. Read more →
May 03, 2026·8 min readOne Folder, Many Projects: How Nested Git Repos Unlocked My Agentic WorkflowA small filesystem tweak that turned my open source projects into a single workspace my agents can actually reason about. Nested git repos, a centralized orchestrator, and a documentation loop that finally stays in sync. Read more →
April 30, 2026·5 min readTeaching Claude to design TUIsAfter years of building terminal apps and a growing inability to justify my GitKraken subscription, I built a Claude Skill for TUI design. Here’s what’s in it, why I made it, and what I’m planning to build with it next. Read more →
April 14, 2026·9 min readFrom a helper script to an agent-first deploy toolkit: building StrutA client needed help managing a few VPSes, so I wrote a small bash script. Three rewrites and 21 releases later, it’s Strut: an open-source CLI for deploying Docker stacks anywhere there’s SSH, built agent-first for the way I actually code now. Read more →
March 28, 2026·3 min readSpecForge: a web UI for the same OpenAPI spec problemAfter building Spec Shaver as a CLI for trimming oversized OpenAPI specs, I kept finding myself wanting a visual way to do the same thing. SpecForge is what came out of that itch: a web app for importing, curating, and exporting OpenAPI specs in the browser. Read more →
March 06, 2026·7 min readWhy I Built Spec ShaverHitting OpenAI’s 1MB / 30-operation cap on Custom GPT actions when your real API has 150+ endpoints is maddening. Spec Shaver is the CLI I built to reduce a bloated OpenAPI spec down to the operations that actually matter, while keeping the schema valid. Read more →
October 11, 2025·12 min readBuilding Fargo Flags: A Developer-First Feature Flag ToolkitFargo Flags is the feature-flag toolkit I wished existed for Next.js: zero infrastructure, type-safe, and small enough to drop into any project. Here’s the design call that shaped it and the trade-off I’m still not sure about. Read more →
September 29, 2025·3 min readBuilding Vercel Doorman: Infrastructure as Code for Firewall ManagementI built Vercel Doorman because clicking through firewall rules in a dashboard is the kind of thing infrastructure-as-code was supposed to fix. This is what it does, why JSON config beat a DSL, and what I’d change if I started over. Read more →
June 02, 2025·6 min readRolling my own SVG Path EditorWhy I rolled my own SVG path editor instead of reaching for an existing one – what the off-the-shelf options got wrong for my use case, and what I learned about Bezier curves trying to make the handles feel right. Read more →
May 02, 2025·6 min readBuilding an AI-Powered Git Assistant: The Story Behind CocoCoco is the AI-powered Git assistant I built because I was tired of writing terrible commit messages at 11pm. The story of how it grew from a one-off script into something I now use daily across every project. Read more →
February 04, 2025·20 min readBuilding Augments: Cybernetic Enhancements for the Information AgeAugments started as a way to give my own AI workflows a consistent set of tools across machines. This is the story of what it does, what I left out, and the cybernetic-enhancements framing I leaned into. Read more →
February 04, 2025·7 min readHow to easily get a list of your local Ollama models within your applicationA bash one-liner that lists your locally downloaded Ollama models, plus the equivalent in Python, Node.js, Go, and Rust. The command I kept rewriting until I just dropped it into a shell alias. Read more →
January 30, 2025·6 min readHow I’m augmenting my information consumptionOvercome information overload with AI tools like Fabric. Intro on how I’m starting to augment and enhance how I consume and interact with content on the daily to learn more in less time. Read more →