chrisscho.uk
[ FIELD NOTE ]agentsautomationpostmortem

I Built a Board of Directors for My One-Person Company. Here's Why I Fired Them.

In March 2026 I gave my one-person company a board of directors. Eight autonomous agents, each with a job title, reporting to a Chief of Staff, briefing me every Monday like I was running a company with actual headcount. Two months later I unloaded every one of them and never brought them back.

This is the honest version of what happened, not the version where I say "agents didn't work for me" and leave it there. They worked. That's most of what makes the decision to fire them worth writing about.

What I built

Paperclip is an open-source multi-agent framework. I didn't write it, I deployed it, and the distinction matters for what follows: everything that broke was a property of the shape, autonomous agents polling a queue, not a bug in someone else's code.

I set up eight agents against my own company:

  • Chief of Staff, orchestrating the other six
  • Head of Marketing and Marketing, split between strategy and execution
  • Sales Lead, generating leads
  • Customer Success, retention
  • Monitor, watching infrastructure health
  • Side Projects, anything not TAP
  • CFO, watching API spend on a small monthly budget

Underneath: LaunchAgent daemons keeping the fleet alive across reboots, a task database, heartbeat monitoring so I'd know if an agent went quiet. A dashboard I could check from my phone. Every Monday morning, a briefing landed summarising what the week ahead looked like, written by the Chief of Staff from what the other agents had logged.

It felt like running a real company. That was the appeal and, it turns out, the whole problem.

What actually happened

The agents worked exactly as designed. That's the part I keep having to say twice, because "it failed" undersells it. Marketing drafted content. Monitor caught infrastructure issues before I did. The Monday briefing was, some weeks, a genuinely good piece of writing about my own business that I hadn't had to write myself.

Four things wore it down anyway.

Tasks went stale. An agent picks up a task from the queue whenever it next polls. By the time that happens, the world has usually moved. Code got committed. The approach changed. The priority that made the task worth doing in the first place quietly stopped being true. The agent doesn't know any of that. It just does the old task, competently, on time, for the wrong version of reality.

Nobody could ask me anything. A human colleague who's unsure stops and asks. An autonomous agent polling a queue has nowhere to stop. It guesses, commits to the guess, and moves on. I'd come back to find a plausible-looking piece of work built on a wrong assumption, and fixing it after the fact cost more time than doing it myself would have. The "time saved" was borrowed, not earned, and the interest rate was bad.

Someone had to watch the watchers. Heartbeat monitoring exists to tell you when an agent has gone quiet. Across a real team, someone's job is to glance at that dashboard. Across a team of one, that someone is me, and now I have a second job on top of running the company: running the company that runs the company.

Eight of anything is a lot when there's one of you. Idle agents still exist. They still occupy attention, even the ones with nothing to do that week. A solo operation has exactly one point of context, and Paperclip's whole design assumed there'd be more than one.

None of these are exotic failure modes. They're the ordinary friction of coordinating a team, and Paperclip reproduced that friction faithfully. Which is the thing I hadn't clocked going in: I'd built the coordination overhead of a real company, and I don't have a real company's headcount to absorb it.

The decision

I'd been keeping half an eye on the comparison the whole time. Alongside Paperclip I was running a much less glamorous setup: a library of markdown skill files, invoked by hand, one /command at a time. No queue. No heartbeat. No board meeting. Just a prompt with constraints and examples, sitting in a folder until I called it.

The skills didn't feel impressive. They felt like admitting I hadn't built anything clever. But they had the one property Paperclip couldn't: I was in the loop every time, which meant every wrong guess got caught before it became work I had to undo.

Automation for a solo founder should be pull-based. Invoke it when you're ready, not before. The overhead of coordinating a team only pays for itself once there's more than one decision-maker to coordinate, and there wasn't. There was me, deciding everything, whether I built the coordination layer or not.

On 7 May 2026 I unloaded the LaunchAgents and deleted the plists. ai.paperclip.server, ai.paperclip.sync, gone. The daemon doesn't respawn on reboot because there's nothing left to respawn. I didn't rebuild it smaller or try a leaner version of the same shape. I went back to the skill library that had been quietly working the whole time, underneath the more interesting-looking thing I was paying attention to instead.

What I'd tell someone about to do this

If you're one person and you're building an agent team because a real company would have one, check what you're actually buying. A board of directors coordinates people who each hold a different piece of context and can't be in every meeting. If there's one of you, you already hold all the context, in one place, all the time. The coordination layer simulates a meeting that was never going to happen anyway.

The shape you build should match the shape of the decisions you're actually making. For a long time I built the shape that looked impressive instead of the one that fit.

Want systems like this in your business? See consulting services →