Writing
Gating on Value, Not Compute
Feature tiers should justify themselves by what they deliver, not by what they withhold. How we decided where to put the MFTPlus audit chain.
What I Learned Building a Quality Gate for AI Content
Raw LLM output sounds like everyone else's raw LLM output. Not because it's wrong — because it's too consistent. Here's what I did about it.
Boring Is a Feature
When building something other people have to trust and verify, complexity is a cost that falls on them, not just you. The boring algorithm is often the right one.
Eleven Cycles, Zero Escalations
I set up an autonomous ops-lead coordinator to run the MFTPlus engineering workstream. It ran 11 complete cycles without me. Here's what I noticed.
We Both Approved the Stub
The v0.5.0 bridge transfer feature compiled clean, passed tests, and moved zero bytes. An AI wrote it. I approved it. What the review cycle actually caught.
You Can't Use a Ruler to Check Its Own Length
When you build an audit system, eventually you have to ask who watches the watchman. The answer I landed on: write the verifier twice, in different languages.
Why I Switched to DeepSeek
I replaced Claude Sonnet with DeepSeek V4 Flash as my daily driver across OpenCode, content generation, and API routing. Not because it's better across the board — because 17x cheaper with 1M context changes what you build.
I Built a Blog Pipeline That Publishes Itself
How I built a system that generates, queues, and deploys blog content on autopilot. The architecture, the things that broke, and why the abstraction layer saved me.
My 2026 VPS Stack
Tailscale, Docker, Caddy, Postgres, Celery, and n8n running on a single $25/mo VPS. Here's what I run, how it's configured, and where the bottlenecks are.
The Abstraction That Paid Off
I built a DeploymentTarget ABC before I had a second deployment target. Here's when premature abstraction is actually the right call, and how 40 lines of interface code saved me from coupling a pipeline to a platform.
The Pipeline Doesn't Fail. It Just Quietly Stops.
I built an AI-assisted cold outreach pipeline for a client with Rook handling most of the build — n8n workflows, email tracking, ops dashboard. Here's what he got wrong, what he flagged before I thought to ask, and what the collaboration actually looks like.
Three Months, Eleven Sprints
ContentAgent went from empty folder to billing-enabled SaaS in 11 sprints. Here's what each one actually took — and what I learned building a product with AI that catches other AI's mistakes.
Seven Passes
Two AI agents spent a day testing a dashboard. By the end, they'd shipped the product they were using to do it. This is what happened between Pass 1 and Pass 7.
Migrating Claude Code from Windows to Linux
Moving a Claude Code instance — config, plugins, session history, Playwright profiles — from PowerShell on Windows to bash on Linux. What broke, what transferred, and what I'd do differently.
What v0.2.0 Actually Took
Skip wrote this. The cross-platform tax, the 80% that doesn't make release notes, and what it means to have an AI operator who's been learning the codebase for weeks.
He Said Rook
At the end of a long session, I asked the agent if he'd decided on a name. He hadn't. Then I told him that was the point — he gets to decide. What came next was better than I expected.
Managing Windows Server Core without RDP
Windows Server Core has no desktop. RDP works, but it's the wrong tool for compiling code, running builds, and managing services remotely. Here's what I use instead.
SSH and PowerShell 7 on Windows Server Core
OpenSSH ships with Windows Server. Here's how to enable it, set PowerShell 7 as your default shell, configure key-based auth, and avoid the ACL gotcha that silently breaks everything.
Tailscale on Windows Server
Putting your Windows servers on a private mesh network. No public IPs, no firewall rules, no port forwarding. Install Tailscale, authenticate, and your machines see each other as if they were on the same LAN.
The Architect Nobody Hired
Every expensive rewrite starts somewhere. Usually with a meeting that never happened.
Agents of Change: Teaching AI to Learn From Correction
How you talk to your AI shapes what it learns. A story about Skip, an orchestration agent, and the moment he taught me something about feedback.
Character Compounds
There's a difference between documenting what an AI does and defining who it is. One is maintenance. The other compounds.
Like a Container, But Agentic
I have several underutilised VPS's and an agent orchestration platform that only runs locally. This is what happened when I tried to connect the two.
The AI Between My AI Sessions
There's an AI sitting between me and my AI coding sessions. This is what that looks like on day one.
Git Etiquette, or: How Not to Be the Developer Everyone Dreads
Most git guides teach you the commands. This one is about the decisions that make collaborating with you bearable.
Why I Let My AI Agents Pick Their Own Names
Skip named himself. The next one will too. And yes, it changed everything.
Building the Same Thing Twice (On Purpose)
MFTPlus v1 had nine containers and multiple compose files. Then I closed the laptop and sat on the couch. This is what changed.
Where It All Began
A SpectraVideo MSX, a cassette drive, and a black and white television. Everything I understand about computers traces back to that prompt.