How I build · updated
Day 405 · uptime 404d 00:00:00 · since my first Claude Code session, Sep 2 2025, 9:55 pm PT

Bottleneck
iteration.

A year of building SKU.io with AI agents. Every time one constraint disappeared, the next one showed up. This is the list, in order, with what removed each one.

Every number on this page comes from my own session logs, commit history and recorded calls.

> 73,375
prompts typed to agents
Undercount: the log began Sep 27, 25 days in, and skips my third machine.
28
sessions I’m driving at once (peak)
279
agents working at once, counting sub-agents (peak)
99%
of last month’s commits co-written by Claude
1,437 of 1,454, merges excluded. The rest: Codex, reverts, a teammate.
90→10
minutes for the full test suite
26
parallel checkouts of the codebase
00 / The curve

A year of prompts.

Prompts I typed to agents each month, and how many sessions I usually had running at once. From September the typing flattens while automated runs climb: more of the work happens without me.

0 3k 6k 9k 12k 051015 2025-09: 364 prompts Sep 2025-10: 2,513 prompts Oct 2025-11: 3,414 prompts Nov 2025-12: 3,599 prompts Dec 2026-01: 4,030 prompts Jan 2026-02: 5,032 prompts Feb 2026-03: 6,226 prompts Mar 2026-04: 8,761 prompts Apr 2026-05: 5,149 prompts May 2026-06: 7,983 prompts Jun 2026-07: 10,703 prompts Jul 10,703 2026-08: 6,608 prompts Aug 2026-09: 6,307 prompts Sep 2026-03: ~6 sessions at once on a typical day2026-04: ~7 sessions at once on a typical day2026-05: ~8 sessions at once on a typical day2026-06: ~10.5 sessions at once on a typical day2026-07: ~13 sessions at once on a typical day2026-08: ~10 sessions at once on a typical day2026-09: ~12 sessions at once on a typical day 2025 2026
Prompts typed per month Sessions at once, typical day (from Mar 2026) Detailed transcripts only go back to March. October is left out (11 days so far).
A blurred screenshot of a 4K screen: a sidebar of about fourteen agent workspaces, three terminal sessions and a browser
A Saturday in July 2026 ~14 agent workspaces in the sidebar · 3 sessions on screen · a browser on the right · text blurred
01 / Eight walls

Each fix exposed
the next bottleneck.

view
01 / 08 Sep 2025

Writing code → Agents in parallel

Claude Code took over the typing. The real change was running several at once: three terminals, then five, each in its own copy of the codebase so they could not collide.

▸ First session: Sep 2, 2025, 9:55 pm. First co-written commit four days later. 2,480 prompts in the first full month.

“The new thing to master is parallelization… managing the many AI workers that you could have running in parallel.”Oct 2025, a talk to a consultancy’s team
02 / 08 Oct 2025

Planning → Specs as files

When execution is cheap, the spec is the work. Every feature starts as a PRD written into the repo, where every agent can read it; today a /prd command does the research and writes it. Agents implement from the file, not from a chat.

▸ First spec written into the repo: Oct 13, 2025. The /prd command followed in Feb 2026, and has run 331 times since.

“Natural language is the new UI.”Oct 2025, a workshop for CTOs
03 / 08 Nov 2025

Reading code → Read the PR, trust the tests

Reviewing every line of five parallel agents is its own bottleneck. I stopped reading code and started reading outcomes: the tests, the diff summary, and the pull request.

“I stopped writing code in July or August of last year and then I stopped reading code in November… the only thing you need to read is the PR.”Aug 2026, interviewing a developer
04 / 08 Dec 2025 – Apr 2026

QA → QA agents and recorded proof

More features meant more to check. QA became a team of specialist sub-agents that drive a real browser and record a narrated video of the feature working. Then /confidence: an audit that pushes a task from 80% to 100% against its own spec.

▸ “Don’t stop until 100%” prompts rose from 17 a month to 46, then fell to under 10 once /confidence did that job.

“You should rely 100% on AI, but just have checks and balances in place. And that’s where the QA element comes in.”Aug 2026, interviewing a developer
05 / 08 Jun 2026

Trust → A second model reviews the first

One model grading its own work is not enough. A Codex review loop reads the branch, Claude applies only the findings it agrees with, and it repeats until the reviewer has nothing left. Three rounds minimum.

▸ First /codex-review-loop: Jun 6, 2026. 214 runs since.

06 / 08 Jul 2026

Hardware → An always-on machine

Two dozen sessions are cheap; their builds, tests and browsers are not. A 32-thread Linux box now runs every heavy job, and live sessions can be handed to it from my phone. The laptop is for thinking, the server is for doing.

▸ Full test suite: 90 minutes → about 10. Busiest day ever: 622 prompts (Jul 7).

07 / 08 Aug – Sep 2026

Change management → Docs and walkthroughs as the last QA step

Features started shipping faster than customers could absorb them. Every release now carries a changelog entry that agents read, an AI-made walkthrough video, and updated docs. Writing the docs is the final QA pass: if it cannot be explained, it is not done.

“Now I actually publish YouTube videos that are AI created that go through the documentation. That’s the ultimate test… that’s like the final user acceptance testing.”Sep 2026, an operator redesigning his company around AI
08 / 08 Oct 2026 · now

Compute → Still standing

This is the wall I am in now. Machines and model capacity are the limit again. Three computers already act as one fleet (every test, build and browser routes to whichever has room), which keeps work moving but does not remove the wall. Automated runs now outnumber the sessions I type into.

▸ Sep 2026: about 5,000 automated agent runs on the server, against 655 sessions I typed into.

Still standing · the plan to break it See my ideal setup → A 3D walkthrough of the machines I would add, what each costs, and which constraint it removes. Not what I run today.
“Through the past year, the bottlenecks have changed every month or two.”Sep 2026
01b / Next

The ideal setup.
Not what I run today.

Compute is the bottleneck again. This is the plan for removing it, if money were no object: what each machine would be, what it costs and which constraint it removes. Toggle Today to see what I actually run.

loading the 3D plan…

02 / Trust

“How do you trust code
you don’t read?”

It is the question every audience asks. The answer is that nothing reaches me until it has passed six gates I don’t have to run, and the seventh is me.

  1. 01

    Tests

    Scoped tests for the change while working; the full suite on every pull request in CI.

  2. 02

    QA agents

    About ten specialist sub-agents: browser flows, UX, security, performance, migrations.

  3. 03

    Second model

    Codex reviews the branch; Claude fixes what it agrees with; repeat until clean.

  4. 04

    Confidence audit

    Is this 100% done against the spec? If not, keep going before a human looks.

  5. 05

    Proof

    An evidence page and a narrated video of the feature working. I review it on my phone.

  6. 06

    Docs

    Writing the user documentation is the last QA pass.

  7. 07

    Me

    I do acceptance testing and merge every pull request. Production changes need my click on the exact command.

03 / The stack

Seven layers,
two loops back.

Top to bottom: an idea comes in, gets planned, goes to isolated agents, runs on whichever machine has room, gets verified, passes the guardrails, and leaves memory behind for the next session. Hover a layer.

L1 Input
Ideas arrive as speech, calls and alerts, not tickets.
Voice dictationCall recordings → review reportsScreen recordings → fixesLive call copilotSentry & support tickets
L2 Planning
Specs live in the repo, decisions in clickable HTML.
/prdVoice PRD interviewsDecision consolesResearch reportsKanban board
L3 Orchestration
Many sessions, each isolated, each on the right account.
cmux & Orca terminals26 full checkoutsPer-task worktreesAccount rotation/handoff to the server
L4 Machines
A laptop for thinking, a server for doing.
M1 Max laptop32-thread always-on serverBatch boxParallel test lanesRemote headless browsers
L5 Verification
Nothing reaches me until it has been tested, reviewed and proven.
Scoped + full test suitesQA sub-agentsCodex review loop/confidence/present proof pages
L6 Guardrails
Agents can do anything except the irreversible things.
Human merges every PRApproval broker for productionRead-only productionHooks that denyNothing outbound unapproved
L7 Memory
Every session leaves the next one smarter.
CLAUDE.md, synced everywhere79 skills, 11 hooksEvery transcript archivedNightly self-improvementThe brain
↺ Failed checks go back to the agents, not to me. ↻ Every session leaves memory that the next one loads.
03b / Skills

Skills that rewrite themselves.
Every correction becomes a rule.

A skill is a written playbook an agent loads before it starts work. The ones that matter most in SKU.io come in sets: a standard, a skill that builds to it and a skill that audits against it, all written by a skill that builds skills. The example here is shipping providers, the warehouses that pick, pack and ship our customers’ orders. Each one we connect is a backend module, a fulfillment contract and about a dozen pages, and the first few took weeks of follow-up fixes after they “worked”.

0 rules in the standard 0 learned from its own runs

drag to turn · tap a label

loading the 3D view…

  1. 01 · Mine

    A skill that builds skills

    Point it at a topic and it reads the git history and every past session for it, looking for fix commits and the moments I said “no, like this”. Each one is a rule that should have existed. The sync-modal spec I had retyped in at least five sessions became one.

  2. 02 · Codify

    One standard, checkable

    Rules land in a single document: an exact snippet, a pattern you can grep for, a file to copy, or a command that must pass. “Be careful about X” is not a rule. Decisions that flip-flopped are written down with their evidence so nobody reopens them.

  3. 03 · Build

    One command per provider

    The build skill runs eight phases, from reading the provider’s API docs to visual QA, and reads the standard fresh every run, never from memory. The audit skill checks the result. Its job is to find nothing.

  4. 04 · Learn

    The last phase writes back

    Every gap the QA gates catch, every correction I make and every fix applied twice goes back into the standard and the skills, logged with the commit or quote that taught it. One-off quirks are fixed and dropped. Anything that would reverse a settled decision stops and asks me.

Counts are from the standard’s changelog, where every rule is logged with the commit or the quote that taught it (2–23 July 2026): 18 rules mined from history when the skills were built, 32 learned since. The same pattern runs for sales channels, marketplaces, automation platforms and OCR: 191 rules across five standards, 113 of them learned at runtime. Faint sparks that die at the gate stand for one-off fixes that were not kept; those are illustrative.

04 / Lessons

Learned the hard way.

01

Fix the harness, not the output

When an agent gets it wrong, the fix goes into the skill, the hook or the CLAUDE.md, so the whole fleet never makes that mistake again.

“Anytime I don’t get the result, I want to stop just trying to fix the result and try to fix the harness.”

02

Human time is sacred. Machine time isn’t.

Things can take longer on the clock as long as they take less of me. That is what makes running many things at once worth it.

“It may take longer in world time to get things done, but it takes less time in human time.”

03

The laptop is always full

One loop ran six type-checks and two browser suites at once and took the laptop to a load of 77. Fifteen browsers took it to 868. Now a hook refuses heavy local builds and sends them to the server.

04

Approve the exact command, not a summary

Agents cannot write to production. They file the exact command, I approve that string, and a separate process runs the identical bytes. Approving a description of a command is not approving the command.

05

Stop asking “Want me to…?”

An audit of six months of sessions found 44% of agent turns ended with an offer, and 29% of my replies were a bare “yes”. A hook now stops agents from asking permission for reversible steps.

06

Leave tombstones

When a rule that caused a real failure is deleted, a note stays in its place saying what it was and why it must not come back. Otherwise the next agent re-adds it as an obvious improvement. There are 122 of them.

07

Decisions belong in HTML

Terminals are for doing. Anything I have to decide arrives as a page with the options, the trade-offs and a recommended default already marked.

“Terminal does not make it easy to make decisions, because it’s just the way our brain works.”

08

Show, don’t type

Reporting a bug in writing is slow. I record a quick spoken walkthrough of what is wrong, paste the link into a session, and the agent watches it and fixes it. I have done that 84 times since July.

“Please watch this video and fix the issue.”

09

No MVPs

When building is this cheap, the nice-to-haves become haves. Agents are told to go past 80%, every time.

“Just don’t stop at 80%, go to 110% every time.”

05 / Changelog

The setup, month by month.

Sep 2025
  • First Claude Code session: Tuesday, September 2, 9:55 pm.
  • From a $20 plan to the top tier inside three days.
  • First commit co-written by Claude, four days in.
  • Sub-agents and browser-driven QA by the end of the month.
Oct 2025
  • Three, then five sessions in parallel, each in its own copy of the code with its own database.
  • Specs written as PRDs and committed to the repo.
  • Tests as the trust layer; Sentry errors auto-fixed every ten minutes (experimental).
  • Two talks on the method: a consultancy and a CTO workshop.
Nov 2025
  • IDE-assisted coding dropped.
  • First skills, and /implement.
  • Parallel work becomes the rule for the whole team.
  • Stopped reading code.
Dec 2025
  • QA becomes the bottleneck.
  • First AI-recorded QA videos.
  • Voice replaces typing for most prompts.
Jan 2026
  • Autonomous “Ralph” loops run overnight.
  • A grid of up to fifteen terminals.
  • Numbered copies of the codebase replace worktrees.
Feb 2026
  • No IDE at all.
  • /prd and /implement become commands.
  • Agent teams and session forking.
  • Sentry errors fixed by agents in parallel.
  • Sessions driven from my phone.
Mar 2026
  • About ten sessions at once becomes normal.
  • The whole Claude Code setup goes into git and syncs across machines.
  • Agents search my own session history for how a problem was solved before.
Apr 2026
  • /confidence: push every task from 80% to 100%.
  • Support tickets resolved by agents.
  • A browser skill replaces the browser plug-ins.
  • A 13-hour autonomous QA run. 8,761 prompts, a new high.
May 2026
  • /present: an evidence page and narrated video for every feature.
  • Parallel test lanes.
  • Plug-in calls fall from 23,000 a month to about 1,000 as skills take over.
  • Bought a Linux server instead of a Mac Studio.
Jun 2026
  • The Codex review loop.
  • The backlog falls from hundreds of tickets to about fifty.
  • 24-hour autonomous runs.
  • A live copilot that listens to my calls.
Jul 2026
  • The always-on server: the test suite goes from 90 minutes to about 10.
  • cmux becomes the terminal; busiest day ever, 622 prompts.
  • Account rotation.
  • /implement → /codex-review-loop → /present, chained in one prompt.
  • An ops agent that turns server alerts into investigations and pull requests.
  • Busiest month: 10,703 prompts.
Aug 2026
  • /handoff moves live sessions between machines.
  • Every customer call becomes a numbered fix list.
  • Decisions move into clickable HTML pages.
  • One fan-out puts 279 agents to work at once.
Sep 2026
  • SKU.io’s own API becomes agent skills.
  • A kanban board feeds sessions their next card.
  • A nightly agent proposes improvements to the setup.
  • About 5,000 automated agent runs on the server in a month.
Oct 2026
  • The laptop hits a load of 868; every heavy job now routes to whichever machine has room.
  • A record 28 sessions driven at once.
  • This site, built by the same fleet.

Write-ups on each layer are coming: the commands, the hooks, and what breaks when you run two dozen agents at once. Get an email when one lands or this page changes.

New writing and changes, a few times a month. Unsubscribe in one click. RSS · Privacy

Last updated . This page changes as the setup does.
Method: prompts from my Claude Code prompt logs on the laptop and the server. They start on Sep 27, 2025, when the log begins, 25 days after my first session, so the count is a floor; sessions, tool calls and concurrency from 63 GB of transcripts across my machines (Mar 2026 onward; earlier transcripts were not kept); a session counts as running at once if it was active in the same 10-minute window, so idle open sessions are not counted; commits from git. Quotes are mine, from recorded calls, lightly edited for reading.

· made with AI (Lyria)click to resume