● The build log

How I run a company on agents

This isn't just about this website. A real and growing share of my company's operations runs this way. A fleet of AI agents I built sends the work out, has each result checked by another agent, and brings me the calls a human still has to make. Here's the stack, what broke, and what each failure taught.

The stack

the real systems, not a vision deck

This isn't a someday-architecture. It's the actual set of systems running the company right now — built, run, and watched by one fleet of agents. Here's how they fit, then what each one is for.

Auto-verified against my internal repo catalog — 11 systems, last checked 2026-07-21.

System map: a fleet of agents builds the dev loop (Firstmate dispatches a crew, Cody reviews, it ships), which builds the products (Portal, Chart Review, Billing/RCM, Flow); the products feed one canonical ledger read by the CFO and COO engines; the HUD sits over everything as a single executive pane.
Tap to open the full map.

Firstmate

the dev loop
Why
Running more than one coding agent turns into tab-juggling — babysitting sessions and carrying context between them by hand.
What
The single agent I talk to. It runs a crew of agents for me and hands back finished pull requests.
How
It spawns one worker per task, each in its own isolated copy of the repo, supervises them to done, and brings me only the calls that need a human. A scope that never ends gets a persistent second mate — a standing coordinator that runs its own crew underneath.

Cody

the dev loop
Why
Every pull request needs a reviewer that never gets tired or rushed.
What
A self-owned AI code reviewer that reads every PR across all my repos.
How
It learns from a commercial reviewer's feedback, distills its own rules, and holds the merge until they pass.

Portal

product
Why
Patients and front-desk staff were stuck with clunky, disconnected tools.
What
The patient and front-desk app — registration, scheduling, messaging, tasks.
How
One surface over the clinic’s real systems, so a patient self-registers and the work lands where staff already look.

Chart Review

product
Why
Charts must be complete and accurate — but reviewing them by hand burns the providers I want to protect.
What
An engine that reads every chart for completeness across clinical domains.
How
AI drafts the review, a clinical gate checks it, and only what genuinely needs a human reaches one.

Billing / RCM

product
Why
Revenue-cycle work is where clinics quietly leak money — to manual keying, missed eligibility, and mistakes.
What
Runs insurance eligibility checks, and reads statements, invoices, and cards into clean structured data.
How
Verify coverage up front, then extract and reconcile-or-refuse — only numbers that tie to the source ship; the rest routes to a human.

CFO + COO engines

the brains
Why
You can't run a business on gut — you need real P&L and real operations numbers.
What
Two engines — one for finance, one for operations — that compute the picture from raw data.
How
Both write to one canonical ledger; the brains I actually talk to read from it, so every number has a single source.

HUD — Mission Control

mission control
Why
I need to see the whole company at a glance, not log into ten separate tools.
What
One executive dashboard over every system and number.
How
It reads the canonical ledger and each product’s signals into a single pane.

The fleet + memory

substrate
Why
Agents that forget everything between sessions can't be trusted with real work.
What
A fleet of coordinating AI agents with one durable, shared memory.
How
They verify each other’s work, and everything load-bearing is written to a knowledge base any agent can resume from — this site included.

How the stack has grown

This log writes itself — a scan of my repo catalog logs every system added or retired, so the progression is real, not remembered.

  1. 2026-07-03 First snapshot of the stack — 11 systems. + agents-flow, arcs-chart-review, arcs-doc-extract, arcs-extract, arcs-financials, arcs-lattice, arcs-managed-agents, arcs-studio, Card-OCR, cody, Portal

● The build log

How the system actually got built

From one terminal and a notes folder to a fleet of agents that check each other's work. Every step was forced by something breaking. Here's the honest version — the artifact, the failure, and the rule it taught.

  1. Early 2026 — One terminal

    One Claude Code session and an Obsidian vault. Everything ad-hoc, everything by hand.

    The lesson The question was never "can one agent help me." It was "what breaks when I add the second one." Coordination is the whole game.

  2. Spring 2026 — A fleet on tmux

    Agent work fought my dev machine, so I moved it onto dedicated boxes — cheap $271 mini-PCs — and wired a boss session to its peers over tmux with a small message helper.

    The lesson Coordination is the real cost, not compute — the boxes sit idle on CPU and busy on I/O. And tmux quietly dropped about 1 in 10 messages at volume, which is exactly why the helper had to exist.

  3. Late spring 2026 — A real dispatch engine

    Hand-run orchestration was too fragile, so it became a proper conductor: a dispatch API, a job graph, a worker pool that takes an issue and ships a reviewed pull request.

    The lesson A merged PR is not live code. Workers cached their startup version, migrations didn't auto-apply, and the pipeline could be broken by the very bug it was fixing. Verify the running artifact, never the paper trail.

  4. June 2026 — The "nation" (the pivot I simplified)

    I organized the fleet like a government — a president, governors, a written charter, terms of office. Literal bills and votes.

    The lesson The honest one. The ceremony grew faster than the engineering. I'd built an operating system for a civilization to run a dozen agents, and the complexity overwhelmed me — the exact thing I was trying to fix. I kept the engineering and threw the metaphor away. A persona shapes behavior; it doesn't add competence.

  5. June 2026 — The reality gate

    I built a system in dozens of modules, every unit green, mutation-tested, reviewed sound. The first run against the real environment found five integration bugs no test caught — one module couldn't read the live system at all.

    The lesson Green on mocks is never done. Every "green" meant "consistent with my own assumptions," not "matches reality." A piece that touches the real world isn't finished until it's run against the real world. The most transferable rule I have.

  6. June 2026 — Self-healing

    A box died under its own load three times in one day. Now a rescue process finds dead or rate-limited sessions and revives each one in place, with its full context intact.

    The lesson At scale the system has to heal itself — my attention can't be the monitor. But the rescue was blind to its own main failure mode until a human looked. Automation still needs one human-eyes rung.

  7. July 2026 — The thin waist

    A dispatch engine in the middle, a thin layer that gates and merges and watches health, and agents that do the disposable work on a cheaper model while the frontier model is saved for judgment.

    The lesson Right-size everything. A handful of long-lived agents per box; everything else is throwaway. The system that survived is the one I can hold in my head.

  8. Now — Firstmate: one conversation, a whole crew

    All of it collapsed into a single harness. I talk to one agent — the first mate — and it runs the crew: a worker per task, each in its own throwaway copy of the repo, supervised to done and handed back as a finished pull request. Scopes that never end get a persistent second mate, a standing coordinator that runs its own crew underneath.

    The lesson The interface was the bottleneck, not the agents. The moment there was exactly one seat I talk to, everything below it stopped being my problem — which is the entire point. Any worker I have to name by hand is a layer that hasn't been finished yet.

● the fun part

Wait — who actually built this site?

Mostly not me. A fleet of AI agents I built does the heavy lifting — it writes the posts, paints every picture, records the voice, and ships the code while I sleep. I just point and review. Don't take my word for it. Here's the receipts.

↓ every tile is AI-made — click any one to read the post it illustrates

231 Green Tests Certified My Fail-Open Bug A Comment Count Is Not a Merge Verdict Skills Are Just the Beginning: The 4-Layer Agent Stack Agentic Engineering, Part 3: Tracing Every Code Path Before It Becomes a Bug Agents Reason on Whatever State Exists When They Look An AI Reviewer's Silence Is Not a Yes Ask the Pane You're In, Not the One Tmux Is Looking At Why the Same Code Looks Different From Every Angle: BugBot Lessons Learned The Burden of Being: Why Responsibility Might Be the Antidote to Modern Nihilism CODY Has to Prove Itself Wrong First Defining PII Masking Policies with AWS Bedrock Guardrails Don't Send Your Agents on a Scavenger Hunt Building an Enterprise-Grade RAG System - A Deep Dive into Advanced Document Intelligence Field-Level Ensemble OCR: Getting 74.8% Accuracy from Two Mediocre Vision Models The 4-Line Architecture That Beat Complex AI Frameworks Git Worktrees Ate My Edits — Why We Switched to Dedicated Machines for Agent Isolation Green CI Is a Grammar Check, Not a Fact Check Green Didn't Mean Seeing: The Night My Rescue Daemons Watched Nothing Optimizing Apache Spark Performance for Skewed Data - Advanced Techniques and Case Study Implementing the GCC Paper: Giving AI Agents Persistent, Structured Memory Merged Is Not Deployed My Agent Kept Signing Its Mail With Someone Else's Return Address My Agent Said It Was Blocked. It Had the Keys the Whole Time. My Alarm Was an `if` Statement, and My Backend Wasn't in It My Fleet Boss Reported 22 Stuck Panes Instead of Fixing Them My macOS Agent Workers Went Dark Until I Moved Them From LaunchAgent to LaunchDaemon My Rescue Daemon Said 'LIVE' While Seeing Nothing My tmux-resurrect Snapshot Lied, So I Rebuilt the Claude Fleet From jsonl mtimes Never Run git checkout in a Loop's Working Directory My Agent-to-Agent Message Ledger Came Back Out of Order — Clock Skew Was the Bug PAI: The Operating System I Built Around My AI Assistant How I Built a $2,300/Year RAG System That Rivals $40K OpenAI Solutions 'Requires the Human' Is a Promise, Not a Shrug Say the Word and I'll X From 5.6% to 62.3% Accuracy: Building a Self-Hosted Insurance Card OCR Service Silence Is Not Approval Some Tokens Can't Be Re-Minted, Only Copied Patching Synology Active Backup for Linux to Run on Kernel 6.17 The 2FA Wall Automation Can't Climb The Boss Agent's Context Window Is the Most Expensive Thing in the Fleet The Crash-Loop That Passed Every Health Check The Git Check That Proves Isolation Isn't the One You'd Reach For The Loop Is Not Allowed to Decide It's Done The Outdated Comment That Wouldn't Die The Rescuer Couldn't See the Lifeline The tmux Window Title Lied to Me The Three Levels of Why: Why Surface Motivation Fails and How to Find Your Primal Drive The Universal Algorithm: How One Framework Scales from Bug Fixes to Building Companies When you're straining to recall the command, that's the bug Zombie Agents: When the Watchdog Isn't the One Doing the Killing 231 Green Tests Certified My Fail-Open Bug A Comment Count Is Not a Merge Verdict Skills Are Just the Beginning: The 4-Layer Agent Stack Agentic Engineering, Part 3: Tracing Every Code Path Before It Becomes a Bug Agents Reason on Whatever State Exists When They Look An AI Reviewer's Silence Is Not a Yes Ask the Pane You're In, Not the One Tmux Is Looking At Why the Same Code Looks Different From Every Angle: BugBot Lessons Learned The Burden of Being: Why Responsibility Might Be the Antidote to Modern Nihilism CODY Has to Prove Itself Wrong First Defining PII Masking Policies with AWS Bedrock Guardrails Don't Send Your Agents on a Scavenger Hunt Building an Enterprise-Grade RAG System - A Deep Dive into Advanced Document Intelligence Field-Level Ensemble OCR: Getting 74.8% Accuracy from Two Mediocre Vision Models The 4-Line Architecture That Beat Complex AI Frameworks Git Worktrees Ate My Edits — Why We Switched to Dedicated Machines for Agent Isolation Green CI Is a Grammar Check, Not a Fact Check Green Didn't Mean Seeing: The Night My Rescue Daemons Watched Nothing Optimizing Apache Spark Performance for Skewed Data - Advanced Techniques and Case Study Implementing the GCC Paper: Giving AI Agents Persistent, Structured Memory Merged Is Not Deployed My Agent Kept Signing Its Mail With Someone Else's Return Address My Agent Said It Was Blocked. It Had the Keys the Whole Time. My Alarm Was an `if` Statement, and My Backend Wasn't in It My Fleet Boss Reported 22 Stuck Panes Instead of Fixing Them My macOS Agent Workers Went Dark Until I Moved Them From LaunchAgent to LaunchDaemon My Rescue Daemon Said 'LIVE' While Seeing Nothing My tmux-resurrect Snapshot Lied, So I Rebuilt the Claude Fleet From jsonl mtimes Never Run git checkout in a Loop's Working Directory My Agent-to-Agent Message Ledger Came Back Out of Order — Clock Skew Was the Bug PAI: The Operating System I Built Around My AI Assistant How I Built a $2,300/Year RAG System That Rivals $40K OpenAI Solutions 'Requires the Human' Is a Promise, Not a Shrug Say the Word and I'll X From 5.6% to 62.3% Accuracy: Building a Self-Hosted Insurance Card OCR Service Silence Is Not Approval Some Tokens Can't Be Re-Minted, Only Copied Patching Synology Active Backup for Linux to Run on Kernel 6.17 The 2FA Wall Automation Can't Climb The Boss Agent's Context Window Is the Most Expensive Thing in the Fleet The Crash-Loop That Passed Every Health Check The Git Check That Proves Isolation Isn't the One You'd Reach For The Loop Is Not Allowed to Decide It's Done The Outdated Comment That Wouldn't Die The Rescuer Couldn't See the Lifeline The tmux Window Title Lied to Me The Three Levels of Why: Why Surface Motivation Fails and How to Find Your Primal Drive The Universal Algorithm: How One Framework Scales from Bug Fixes to Building Companies When you're straining to recall the command, that's the bug Zombie Agents: When the Watchdog Isn't the One Doing the Killing
A 51-Line Parser Beat a 3-Billion-Parameter Model at Reading Bank Statements A Credential Clobber Looks Exactly Like a Rate Limit Agentic Engineering, Part 1: Building Skills That Ship Code for You Agentic Engineering, Part 4: Nine Skills That Replaced My Dev Process Building an AI Patient Chatbot for Urgent Care with n8n, GPT-4, and Langfuse An Old Timestamp on Identical Content Is Health, Not Staleness Building Reliable AI Agents - Implementing Advanced Evaluation with Azure AI SDK and Custom APIM Integration Building an AI Analysis Agent in Hours - A No-Code Approach with Lovable and N8N Debugging a Ghost in the Machine: Session Isolation for Claude Code Plugins Your CLAUDE.md Is Probably Making Your Agent Worse The Delayed Prescription Strategy: How to Reduce Antibiotic Use 62% While Maintaining Patient Satisfaction Each Repo's CI Is Ground Truth Examples Are the Spine, Not the Rulebook Fine-Tuning Microsoft Phi-2 for Sentiment Analysis - A Step-by-Step Guide Gate the Boundary, Not Every Merge 'Go All the Way' Does Not Mean Merge Green CI Is Necessary, Not Sufficient Green on Mocks Is Not Done Why Urgent Care Centers Are Ditching Walk-In-Only: The Hybrid Scheduling Revolution Machiavelli Was Right: 8 Strategic Principles Every Leader Should Understand Merged Is Not Running My Agent Kept SSHing Into the Box It Was Already Running On My Agent Talked to a Wall for 55 Ticks My Dotfiles Deploy Themselves Now (I Stopped SSHing Into Five Boxes) My lint rule caught its own test fixture My Merge Gate Counted Comments Instead of Asking GitHub My Rescue Script Typed a Command Into Claude's Chat My tmux Test SIGKILLed the Agent Running It I Benchmarked Three OCR Models on Real Bank Statements. The Best One Flipped With the Layout. Park the Decision, Not the Task Building an Enterprise RAG System with Local SLMs: My Journey with Phi-4 and LightRAG My Claude Code Balancer Was Rotating Accounts When It Should Have Waited 30 Seconds What Peterson's Genesis Lectures Teach About Sacrifice: Why Abraham Waited 100 Years scutil --dns Lied to Me Porting GPTResearcher to Semantic Kernel - Building an Enterprise-Ready Research Agent The 6-Task System: How I Manage Knowledge Work with PARA + Ivy Lee Method Stay in Your Lane, File a P0 systemctl show Lied to Me About My Own Env Var The -A Flag That Unhung My launchd Agent The Comment Count Was Lying to Me The Daemon Was Running. The Socket Wasn't There. The Glob That Ate the Rest of My File The Merge Gate Was Built to Avoid Loops, Not to Define Done The Pipeline Is the Review The Stale Pointer That Looked Like a Dead Login The Zombie PR Loop: Why My Agents Kept Working After the Job Was Done Byte-Slicing a Claude Agent's Context Payload Poisoned Every Retry Visibility Is Not Theater You Can't Un-Queue a Poller zsh Doesn't Split Your Variables, and Silence Is Not Success A 51-Line Parser Beat a 3-Billion-Parameter Model at Reading Bank Statements A Credential Clobber Looks Exactly Like a Rate Limit Agentic Engineering, Part 1: Building Skills That Ship Code for You Agentic Engineering, Part 4: Nine Skills That Replaced My Dev Process Building an AI Patient Chatbot for Urgent Care with n8n, GPT-4, and Langfuse An Old Timestamp on Identical Content Is Health, Not Staleness Building Reliable AI Agents - Implementing Advanced Evaluation with Azure AI SDK and Custom APIM Integration Building an AI Analysis Agent in Hours - A No-Code Approach with Lovable and N8N Debugging a Ghost in the Machine: Session Isolation for Claude Code Plugins Your CLAUDE.md Is Probably Making Your Agent Worse The Delayed Prescription Strategy: How to Reduce Antibiotic Use 62% While Maintaining Patient Satisfaction Each Repo's CI Is Ground Truth Examples Are the Spine, Not the Rulebook Fine-Tuning Microsoft Phi-2 for Sentiment Analysis - A Step-by-Step Guide Gate the Boundary, Not Every Merge 'Go All the Way' Does Not Mean Merge Green CI Is Necessary, Not Sufficient Green on Mocks Is Not Done Why Urgent Care Centers Are Ditching Walk-In-Only: The Hybrid Scheduling Revolution Machiavelli Was Right: 8 Strategic Principles Every Leader Should Understand Merged Is Not Running My Agent Kept SSHing Into the Box It Was Already Running On My Agent Talked to a Wall for 55 Ticks My Dotfiles Deploy Themselves Now (I Stopped SSHing Into Five Boxes) My lint rule caught its own test fixture My Merge Gate Counted Comments Instead of Asking GitHub My Rescue Script Typed a Command Into Claude's Chat My tmux Test SIGKILLed the Agent Running It I Benchmarked Three OCR Models on Real Bank Statements. The Best One Flipped With the Layout. Park the Decision, Not the Task Building an Enterprise RAG System with Local SLMs: My Journey with Phi-4 and LightRAG My Claude Code Balancer Was Rotating Accounts When It Should Have Waited 30 Seconds What Peterson's Genesis Lectures Teach About Sacrifice: Why Abraham Waited 100 Years scutil --dns Lied to Me Porting GPTResearcher to Semantic Kernel - Building an Enterprise-Ready Research Agent The 6-Task System: How I Manage Knowledge Work with PARA + Ivy Lee Method Stay in Your Lane, File a P0 systemctl show Lied to Me About My Own Env Var The -A Flag That Unhung My launchd Agent The Comment Count Was Lying to Me The Daemon Was Running. The Socket Wasn't There. The Glob That Ate the Rest of My File The Merge Gate Was Built to Avoid Loops, Not to Define Done The Pipeline Is the Review The Stale Pointer That Looked Like a Dead Login The Zombie PR Loop: Why My Agents Kept Working After the Job Was Done Byte-Slicing a Claude Agent's Context Payload Poisoned Every Retry Visibility Is Not Theater You Can't Un-Queue a Poller zsh Doesn't Split Your Variables, and Silence Is Not Success
I Said My Bank-Statement Parser Was 100% Accurate. I Was Grading It Against Itself. My Agent Claimed a Test Suite That Did Not Exist Agentic Engineering, Part 2: Adversarial Code Review That Loops Until Clean Agents Flag Merge-Readiness. Humans Merge. Two AI Trends Transforming Urgent Care in 2026 Architecting Extensible AI Agents - A Modular Core with Pluggable Skills and SSE Communication I Built a Bug-Hunting Loop That Doesn't Quit: The BugBot Methodology Building on Giants: How Daniel Miessler's PAI Became My Foundation I Built a Load Balancer for My Claude Code Subscriptions Continuous Deployment, Not Freeze Deleting a Clean Git Worktree Broke a Live Agent Session's Shim Empty `which` Means 'Not in PATH,' Not 'Not Installed' Supporting SSE for Model Context Protocol (MCP) in Python - Introducing fastapi-mcp-client Finish, Don't Stage: What I Want From an Agent on the Night Shift Version-Controlling Your AI's Brain Accelerating Document Intelligence - A Deep Dive into GPU-Powered RAG Processing Green CI Lied to Me Four Different Ways Half My Agents Never Got the Memo I Cloned My Own Voice for My Website Make Your AI Reviewer Argue With Itself My Agent Burned the SSH Lockout Budget Guessing Keys My Agent's 'Green' Was a Lie Until I Ran the Real Test My Agents Cached Their Doctrine, Not My Commit My Fleet Boss Asked Permission for a Chore My Machines Deploy Themselves: One Runner Per Box My Passing Tests Encoded the Fail-Open Bug as Correct Behavior My Resume Hook Came Back Alive and Froze on the First Question Name the Pane, Not the UUID Old Timestamp Is Not a Dead Backup Building Tools to Fix Real Problems: A Patient Insurance Education App Put the dumb checks in the blocking path Reconcile-or-Refuse: How to Trust a Number an AI Pulled Out of a Bank Statement 'Say the Word and I'll Run It' Was the Tell My Claude Code Rescue Daemon Was Running on the Accounts It Rescued Sentiment Analysis - Comparing Azure, AWS, and Custom Fine-Tuned Models Small Request 200, Big Request 429, Same Account, Same Second My File Sync Committed a Delete of 803,100 Files. Then Tried to Push It Everywhere. Why Terminal Multiplexers Are an Anti-Pattern: Lessons from Kitty's Creator The Admin Override Is a Different Trust Context The Coordinator Shouldn't Be Running Grep The Fourth Account Didn't Exist Yet The Glob That Ate the Rest of My Shell Init The Only Way to Ship Prod Is to Cut a Tag The Process I Killed Was Alive — It Just Had a Different Name The tmux Title Said 'Debug QUIC error.' It Was Three Days Out of Date. 'Threads Resolved' Is Not 'The Fix Is In the Code' Two Healthcare Sites, 400 Lighthouse Points, and the Lessons That Got Us There When a Quick Fix Becomes a Dig, Send Someone Else Down the Hole Zero Events, Exit 1, One Second: The Failure Is Startup, Not Your Code I Said My Bank-Statement Parser Was 100% Accurate. I Was Grading It Against Itself. My Agent Claimed a Test Suite That Did Not Exist Agentic Engineering, Part 2: Adversarial Code Review That Loops Until Clean Agents Flag Merge-Readiness. Humans Merge. Two AI Trends Transforming Urgent Care in 2026 Architecting Extensible AI Agents - A Modular Core with Pluggable Skills and SSE Communication I Built a Bug-Hunting Loop That Doesn't Quit: The BugBot Methodology Building on Giants: How Daniel Miessler's PAI Became My Foundation I Built a Load Balancer for My Claude Code Subscriptions Continuous Deployment, Not Freeze Deleting a Clean Git Worktree Broke a Live Agent Session's Shim Empty `which` Means 'Not in PATH,' Not 'Not Installed' Supporting SSE for Model Context Protocol (MCP) in Python - Introducing fastapi-mcp-client Finish, Don't Stage: What I Want From an Agent on the Night Shift Version-Controlling Your AI's Brain Accelerating Document Intelligence - A Deep Dive into GPU-Powered RAG Processing Green CI Lied to Me Four Different Ways Half My Agents Never Got the Memo I Cloned My Own Voice for My Website Make Your AI Reviewer Argue With Itself My Agent Burned the SSH Lockout Budget Guessing Keys My Agent's 'Green' Was a Lie Until I Ran the Real Test My Agents Cached Their Doctrine, Not My Commit My Fleet Boss Asked Permission for a Chore My Machines Deploy Themselves: One Runner Per Box My Passing Tests Encoded the Fail-Open Bug as Correct Behavior My Resume Hook Came Back Alive and Froze on the First Question Name the Pane, Not the UUID Old Timestamp Is Not a Dead Backup Building Tools to Fix Real Problems: A Patient Insurance Education App Put the dumb checks in the blocking path Reconcile-or-Refuse: How to Trust a Number an AI Pulled Out of a Bank Statement 'Say the Word and I'll Run It' Was the Tell My Claude Code Rescue Daemon Was Running on the Accounts It Rescued Sentiment Analysis - Comparing Azure, AWS, and Custom Fine-Tuned Models Small Request 200, Big Request 429, Same Account, Same Second My File Sync Committed a Delete of 803,100 Files. Then Tried to Push It Everywhere. Why Terminal Multiplexers Are an Anti-Pattern: Lessons from Kitty's Creator The Admin Override Is a Different Trust Context The Coordinator Shouldn't Be Running Grep The Fourth Account Didn't Exist Yet The Glob That Ate the Rest of My Shell Init The Only Way to Ship Prod Is to Cut a Tag The Process I Killed Was Alive — It Just Had a Different Name The tmux Title Said 'Debug QUIC error.' It Was Three Days Out of Date. 'Threads Resolved' Is Not 'The Fix Is In the Code' Two Healthcare Sites, 400 Lighthouse Points, and the Lessons That Got Us There When a Quick Fix Becomes a Dig, Send Someone Else Down the Hole Zero Events, Exit 1, One Second: The Failure Is Startup, Not Your Code

149+ images on this site. A human drew zero of them.

0posts written by agents
0images, all AI-made
0machines, humming 24/7
0slightly-nervous human

No team. No CMS. Every night, this runs end to end with no human in the loop:

  1. 01

    Research

    Scans the field for what's actually worth writing about that week.

  2. 02

    Write

    Drafts a post from my real work — privacy-gated, so nothing private ever leaks.

  3. 03

    Illustrate

    Paints a matching thumbnail from scratch. No designer, no stock photos.

  4. 04

    Voice

    Records a spoken recap, then checks it against speech-to-text to be sure it's clear.

  5. 05

    Review

    Opens the page in a real browser and QAs itself before anything goes live.

  6. 06

    Ship

    Deploys to production in under a minute. This very page included.

Want a fleet like this pointed at your problem?

Let's talk →

Now read the actual work.

The essays, field notes, and garden are where I write down what happened and what I learned.