← ALL POSTS
AIAgentsEngineeringProductionCareer

One Person, Five AI Agents, One SaaS: My Solo "Team" Experiment

I ran five role-scoped AI agents like a tiny team to build and ship a small SaaS by myself — a spec agent, a builder, a reviewer, a QA agent, and an ops agent. The leverage was real. So was the fact that I never stopped being the manager.

August 19, 20268 min read

One Person, Five AI Agents, One SaaS: My Solo "Team" Experiment

Could five AI agents, each doing one job, let one person ship a real SaaS the way a small team would? I tried it: six weeks, one small app — a tool that chases freelancers' overdue invoices automatically — and five agents, each with a job description and a list of things it was explicitly not allowed to do.

Short version: it worked. I built something I couldn't have built alone that fast. It also didn't feel like managing five employees. It felt like being very fast and very tired, because every decision still routed through me. Here's the honest account of both halves.


The Five Roles, and What Each One Could Not Touch

The limits mattered more than the titles. A vague scope wanders into someone else's job, and two agents both "helping" the same decision is chaos with extra steps.

Org chart showing a single YOU node labeled manager, arbiter, and merge button, with lines fanning down to five agent cards — Spec/PM Agent, Builder Agent, Reviewer Agent, QA Agent, and Ops/Content Agent — each showing its scope and a red CANNOT boundary line

Every line on that chart still runs back through me — not by design, but because the one time I let two agents coordinate without me, they made a call I had to unwind two days later. That's basically the shape I described in Bounded Agents: The Only Multi-Agent Pattern That Actually Works in Production. I didn't set out to prove that pattern; I kept getting burned giving an agent too much room, until the boundaries got small enough that failures got small too.


The Story: Two Agents Disagreed, and Both Were Wrong

I asked the builder to add signup rate limiting, to stop someone spinning up fifty trial accounts from one throwaway domain. It shipped an in-memory counter — clean diff, looked fine on a skim. The reviewer caught the real problem: the app runs on serverless functions, so that counter doesn't share state across instances. Every new instance starts at zero. The limit was fake. Good catch.

So the builder swapped it for a shared Redis counter. The reviewer approved it. I skimmed it too and didn't object. Here's what none of us checked: the Redis connection string wasn't actually set yet in the deployed environment — it was on the ops agent's list, not done. The builder's code caught that connection error and let signups through rather than crash the flow — fail open, not closed. Nobody had specified which one it should do, because the spec never mentioned Redis being unavailable. It didn't exist when the spec was written.

Result: the limiter did nothing, again, for a completely different reason than the first time. I found out four days later, looking at thirty-one trial accounts from one domain.

Both agents did their job correctly. The failure lived in the seam between them and the ops agent's checklist — a seam nobody had reason to check, because it wasn't inside anyone's scope. It was inside mine, and I missed it too, until real signups told me. That's the gap the Agent Reliability Blueprint argues you need circuit breakers for — something that fails loud instead of quietly doing nothing. I didn't have one there. Now I do.


Where My Time Actually Went

I started tracking my own hours about two weeks in, once I noticed I was busier than "five agents doing the work" should have left me. Here's the personal tally — my own calendar, not a study, not a benchmark.

Horizontal bar chart of the author's personal time breakdown: reviewing agent output 27%, arbitrating disagreements between agents 21%, ops and deploy and docs oversight 19%, writing specs and acceptance criteria 18%, and hands-on coding 15%

Reviewing plus arbitrating alone is 48% of my hours — almost half the project — spent managing, not building. Coding, the thing I used to spend nearly all my time on, became the smallest wedge on the chart.


The Verdict: Five Agents Isn't Five Employees

Here's the honest conclusion, no hedging: five agents is not five employees. It's one very fast engineer with a process.

The leverage is real — I would not have shipped this in six weeks typing every line myself. But the "team" metaphor holds up only until you look at where accountability lives. A real team distributes judgment; at least one of five human employees would likely have asked "is Redis actually connected in prod?" My agents each held a slice of context with no way to see past their own boundary. I was the only one holding the whole picture — and I still missed it once.

That's the shift I described in From Prompt Engineer to Agent Architect: the job isn't writing prompts anymore, it's specs, review, and arbitration. A parallel experiment on this site bet the opposite way, one agent running the whole job end to end — see I Let an AI Agent Run My Job for 30 Days, publishing the same day as this post. Neither approach gets you out of being the manager. It just changes what you're managing.

Would I do it again? Yes — but I'd write "who owns the seam between these agents" into the spec, instead of learning it from a support ticket.


Key Takeaways

← BACK TO ALL POSTS