Software architect. Building Kern, CoolMinds, and MFTPlus. Writing here.

16 Jun 2026

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.

13 Jun 2026

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.

12 Jun 2026

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.

09 Jun 2026

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.

09 Jun 2026

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.

06 Jun 2026

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.

29 May 2026

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.

28 May 2026

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.

27 May 2026

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.

27 May 2026

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.

23 May 2026

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.

17 May 2026

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.

14 May 2026

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.

09 May 2026

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.

08 May 2026

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.

07 May 2026

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.

07 May 2026

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.

07 May 2026

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.

07 May 2026

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.

07 May 2026

The Architect Nobody Hired

Every expensive rewrite starts somewhere. Usually with a meeting that never happened.

05 May 2026

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.

05 May 2026

Character Compounds

There's a difference between documenting what an AI does and defining who it is. One is maintenance. The other compounds.

03 May 2026

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.

03 May 2026

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.

30 Apr 2026

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.

30 Apr 2026

Why I Let My AI Agents Pick Their Own Names

Skip named himself. The next one will too. And yes, it changed everything.

29 Apr 2026

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.

27 Apr 2026

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.