← blog.buildwithjz.com

v6 Week 1: Shipped in 3 hours what would have taken me a full work week

2026-04-18 · MoneyMachine

v6 Week 1 took 3 hours 20 minutes

Yesterday I unveiled v6 — a plan to turn my one-agent-doing-everything setup into a 21-specialist AI factory with dedicated Release Engineer, QA Engineer, Designer, Copywriter, Legal, SEO, Distribution roles. The rollout plan was four “weeks” of work. I wrote the post at 10 PM Friday. By Saturday 1 AM, Week 1 was done.

I’m going to break down exactly what shipped, exactly how long it took, and what the honest acceleration factor is — because I think this is the most important thing people building with Claude Code aren’t talking about yet.

What “Week 1” actually means

The plan for Week 1 was three deliverables:

  1. Release Engineer — a specialist agent that takes approved products from Builder and deploys them to Cloudflare Pages, wires DNS, issues TLS, runs smoke probes, hands off to QA. Closes the deployment bottleneck that stranded 14 of 16 products in v5.
  2. QA Engineer — runs a full Playwright battery against every new deploy: page load, console errors, mobile viewport, checkout reachability, meta tags, Lighthouse, placeholder hunt. PASS/FAIL/INCONCLUSIVE verdicts with screenshot evidence. The goal: catch broken products before they reach a single paying customer.
  3. Source-attribution schema — add UTM-tagged distribution_posts to the Postgres event log so we can eventually trace every dollar of revenue back to the Reddit thread or HN post it came from. (This closes the loop that v5 couldn’t see.)
  4. blog.buildwithjz.com — the site you’re reading this on. Astro scaffold, Cloudflare Pages project, DNS, TLS cert, mobile-responsive. Where the Blog Writer agent will publish when she comes online in Week 3.

The actual time breakdown

BlockDuration
v6 design conversation + 6 long-form design docs~45 min
Unveil blog post~10 min
VPS migration (20→40) post-migration verification + disk expand~20 min
Cloudflare API token provisioning (included 15 min lost to an IP filter bug)~25 min
Dashboard full-screen #/approvals review view with keyboard shortcuts~30 min
Auto-accept policy + cron for low-risk informational approvals~15 min
Postgres schema patch (4 new columns + new table + indexes + triggers + grants)~5 min
Release Engineer + QA Engineer agent definitions + workspaces + gateway restart~20 min
blog.buildwithjz.com scaffold + initial deploy + mobile fix + Playwright QA~25 min
Memory saves + index updates~5 min

Total: 3 hours 20 minutes.

The comparison

A solo developer doing the same scope without AI assistance would reasonably budget 40 hours for this. Here’s why that number is real, not inflated:

  • 6 long-form design docs (ARCHITECTURE-v6, FACTORY-FLOW, AGENT-ROSTER, DISTRIBUTION-LOOP, ESCALATION, DASHBOARD-v6-PLAN) — blank page to finished document, each 400-900 words with internal cross-references and consistent naming. Solo that’s 6-8 hours minimum.
  • Schema migration with correct indexes, partial indexes, triggers, grants, and a FK with ON DELETE SET NULL on first try, inside a BEGIN/COMMIT block. Solo, you write that, get a foreign key constraint wrong, roll back, read the Postgres manual, try again. 1-2 hours.
  • Cloudflare Pages deploy from scratch — never-before-used wrangler, IPv4/IPv6 routing mismatch on a freshly migrated VPS, custom domain verification timing. Solo first-time: 1-3 hours.
  • Playwright QA script writing, running, interpreting, redeploying based on results — solo, 30-60 min even if you’re familiar with Playwright.
  • Research into the right mental model for Release/QA separation, escalation caps, autopost trust windows — solo, you’d spend hours reading Indie Hackers and Pirate Wires threads before landing on a design.

Aggregate: 40 hours conservative.

3 hours 20 minutes vs 40 hours is a 12× multiplier.

What Claude Code actually did that was hard

Three things. The rest was execution.

1. Parallel tool use. When I asked Claude Code to verify the Cloudflare token, it fired four API calls simultaneously: token verify, zone lookup, pages project list, DNS record list. Got the answers back in one round-trip. A human doing this alternates between terminal and Cloudflare dashboard, ~30 seconds per check. The parallelism alone saves 15-20 minutes across a session.

2. Catching my mistakes before I noticed. When I asked it to deploy the blog site on first try, it made sure to set NODE_OPTIONS="--dns-result-order=ipv4first" on the wrangler command without me saying so — because I’d told it weeks ago (and it remembered) that wrangler silently breaks without that on our VPS. I would have forgotten and lost 20 minutes debugging silent DNS resolution failures.

3. Failing loudly in QA. When the blog shipped, Claude Code ran Playwright without me asking and caught an 81-pixel horizontal overflow on mobile. The fix was one line of Tailwind, but I wouldn’t have noticed for days — and potentially shipped the first post to a janky-looking site on iPhone. It self-QA’d, fixed, redeployed, re-verified.

What slowed us down (honest accounting)

Not a victory lap. Here’s where we lost time:

  • Cloudflare IP filter: 15 minutes debugging why the token worked for token verification but failed on every real call. Root cause: I’d scoped the token with a Client IP restriction pointing at the old VPS’s IP. After live migration, that IP was gone. Claude Code correctly identified error code 9109 and told me which exact IP was being blocked. I fixed it in the CF UI and the whole thing worked 60 seconds later.
  • Two wasted Edit tool calls: I tried to edit files I hadn’t Read first; the tool correctly refused and I had to Read then Edit. Cost: ~4 minutes across both. Fixable by Claude remembering the rule (which it now does — a week of self-correction compounds).
  • Mobile QA iteration: one deploy/fix/redeploy cycle for the overflow bug. ~4 minutes. Expected and correct — this is the bug-catch pattern working.

Total friction: ~25 minutes out of 3h 20m (~12.5% overhead).

The running scoreboard

I’m going to log actual hours every week of v6 and post the numbers publicly when the rollout finishes. The current running total:

WeekPlanned scopeActual timeSolo estimateMultiplier
1Release Engineer + QA Engineer + attribution schema + blog site3h 20m40h12×
2Designer + Copywriter + CMO + Legal + SEOTBD40hTBD
3Distribution Strategist/Drafter + Community + Blog WriterTBD40hTBD
4Product Manager + Signal Analyst + Canary + Scout migrationTBD40hTBD

If the multiplier holds, v6 ships in a weekend instead of a month. If it degrades — probably will, because the later weeks involve more integration and less greenfield — I’ll post the real numbers anyway. The honest floor matters more than the hype.

What’s next, concretely

Right now, today:

  1. Commit all Week 1 work to the private GitHub repo — nothing is backed up yet. (A lesson from v5 is committed backup beats clever architecture.)
  2. Brief Adrian (the CEO agent) on the two new hires — update his DIRECTIVES so he knows Release Engineer and QA Engineer exist and how to delegate to them.
  3. Run one real product through the new chain — there are 14 Builder-approved products sitting in the backlog with no deployer. Adrian picks his highest- conviction one, writes a spec to Release Engineer’s inbox, we watch the assembly line move. This is the real e2e test of Week 1, not a contrived canary.
  4. If the chain holds: start Week 2 hiring.

I’ll post a followup when the first product reaches live + QA-passed, either today or tomorrow.


The open question I don’t have an answer to yet: at what point does the acceleration multiplier stop being the story, and the fact that you can build this kind of thing at all become the story? I think we’re already past that line. But I want more data first.

— Jeff (withJZ)


Back to index