
Build receipts for AI-assisted software. Your AI agent drafts how a project was built (what the AI did, what you did, what went wrong), and you approve it before it is published.
AI wrote most of the code; I directed, reviewed, and edited it.
Over three days (Oct 18–20, 2026), Claude Code audited the old nuxt.codes codebase and wrote most of the code for the pivot: security fixes (admin self-promotion, emails exposed to anonymous visitors, forged votes, storage permissions), the rebrand, project types and AI-level fields, moving notification emails from browser-side EmailJS to server-side Resend, and the build-receipts MVP (agent tokens, database functions, the MCP server at /mcp, the receipt UI, /connect and the new homepage). After launch it added cover images and up to five screenshots on approved projects, a drafting guide the agent reads before writing a receipt (evidence from the repository and git with merge commits excluded, every statement labelled by source, open questions left for the builder, drafts that still contain markers rejected), and editing of receipt text on the website, shown as "edited by the builder". It tested SQL on a local copy of the schema, ran typechecks and tests, and merged each PR after the Vercel preview passed. Claude (Cowork) ran live browser tests together with the builder, and another AI coworker wrote the persona and market research. This receipt was redrafted by Claude Code using that guide.
I started nuxt.codes in 2025 and wrote most of it with AI help. I decided the pivot: any stack plus AI transparency, the cobuilt.dev name, the build-receipt direction, and a fresh start without old data. After launch I asked for project images, the drafting guide and receipt editing on the website. I challenged the AI's proposals (email provider, competitor list, homepage wording), set up the domain, DNS, email, Supabase and Vercel myself, applied every database migration, kept all secrets out of the AI's hands, approved each PR and tested the live site together with Claude (Cowork).
The old setup docs would have recreated insecure storage permissions. Supabase's redirect list still pointed to nuxt.codes, so GitHub sign-in landed on the old domain. The homepage was pre-rendered at build time, which froze its content until the next deploy. The token button was silently disabled until a name was typed, which looked like a bug. The first AI market scan listed a competitor (VibeShips) whose domain turned out to be parked. Connecting without a token led to a confusing "@register does not exist" page.
Drafted by Claude Code (claude-opus-5-5), approved by the builder · updated Oct 20, 2026 · How receipts work