In July 2025 I deliberately didn't build my own website, because a coded site would have competed for my time. In October 2026 I built one with a Claude agent that wrote all the code, about 42 hours elapsed from first commit to final launch change. The interesting part isn't the speed; it's where the time went instead.
How it went
Brand first. The site came out of setting up my consultancy. I ran brand and logo directions from two AI tools, Claude and GPT 6, side by side and critiqued each against the other, rejected four directions as too corporate or too literal, and landed on a set of soft shapes: an E made of stacked pills on a spine, an S made of two half-moons and a dot. I kept the S even though it barely reads as a letter, because a monogram needs to be distinctive, not legible. The brand session exported the whole kit, from favicon to CV template, in one go.
Design before code. I asked to design the site together before any code was written; the agent produced several directions and I chose a playful grid of brand tiles that spin when you hover over them. I brought references, and advice from my mentor to write for the people who already believe in what you do and to work back from buyers' problems. Many rounds of critique followed, before and after the first commit: the name too small, weak stats, a chaotic footer, repetition between pages, and "What went wrong" renamed "With hindsight".
The build. The first commit was the whole site: 66 files, about 2,800 lines, every page template, the content-editor schema, and starter copy drafted from my CV and notes. The next morning I dictated the hindsight stories for three of the four case studies and the agent drafted while I corrected. By early afternoon on day two the site was public, and I'd run three external audits (SEO, performance and security); the agent's fixes went in that afternoon.
Outside eyes. Two people reviewed it after launch. The first reader said the positioning was clear within seconds, and their challenges led me to anonymise every case study and add a confidentiality line; a second reader told me that mentioning openness to permanent roles undermined the consultancy pitch, and I moved it off the homepage. Both reviews arrived after the launch post was scheduled, which is the first thing I'd change.
Who did what
The agent produced the design directions, all the code, first drafts of most of the copy (pages, case studies, the CV PDF, LinkedIn sections, the newsletter email, the launch post), the generated assets, the audit fixes, and step-by-step instructions for every account problem.
I made every judgement (design direction, positioning, what to claim and what to leave out, tone, anonymisation, the reversal on permanent roles); supplied what only I had (recommendations, hindsight stories, my reasons for each mistake); caught the accuracy and risk problems the agent missed (a job title I never held, wording that read as a red flag, the risk of offering free work in a proposal step); did all the account work; and ran the test loop, checking on my phone and pasting errors back.
Put simply, the agent did the making, and I did the deciding, the checking, and everything that needed my identity or my accounts. It wrote code faster than I could review it, so my judgement became the bottleneck, which is the thesis of this whole lab in a single build.
What broke, and why most of it was one problem
The agent couldn't install packages in its workspace, so it couldn't run the site it was writing. Errors only appeared when I ran it on my laptop or when the host built it, which meant production quietly became the test environment. That one constraint explains most of what went wrong:
- Hosting credits ran out on launch day. Every push triggered a production deploy; about 25 in a day used up the free plan, which took the site offline, so I upgraded to the Personal plan mid-launch. From then on I had the agent batch its pushes, which it should have done from the start.
- Mobile was an afterthought. The site was designed desktop-first and took four rounds of fixes after I looked at it on my phone; the second reader still found the mobile homepage congested. Most launch visitors arrived on phones, through LinkedIn's in-app browser.
There were other problems too: the content editor's sign-in failed four times in a row; the contact form returned a 404; the newsletter sent new subscribers to the old site's thank-you page; and my own visits skewed the launch analytics.
The judgement problems are the ones I find most instructive. Agent drafts implied a title I'd never held, phrased a hindsight story in a way that read as a red flag, and named clients in the case studies until the first reader pointed it out. None of those was a coding error, and none would have been caught by any test.
What I'd do differently
- Give the agent eyes before giving it hands. Run it somewhere it can build and preview the site and check its own work with screenshots before anything is pushed. That alone removes most of the list above.
- Never let production be the test environment. Branches with deploy previews, batched merges, and knowing the host's pricing before the first push.
- Do accounts and infrastructure on day one, with a placeholder page: they involve the most waiting and the least judgement.
- Design for phones first, and check on a phone every round.
- Settle the hard positioning calls and house rules in the brief: anonymised by default, which claims need evidence, who the site is for.
- Get outside eyes before the launch date, not after it's scheduled.
- Use a launch checklist (tracked links, share previews, analytics excluding my own visits, forms tested end to end).
- Keep the build log as I go. This one had to be reconstructed from git history.
Three builds, three ways of building
| Built with | Took (elapsed) |
|---|
| Launchling (2025) | Tally and Zapier, then Framer, then React, Vercel, GPT-4o and Airtable, plus a Python evaluation system | Months |
| emilybuilds.ai v1 (July 2025) | Notion and Super.so | Several days |
| emilysas.com (October 2026) | Astro, Keystatic and Netlify, with all code written by an AI agent | About 42 hours from first commit to final launch change, after a branding session |
Both of the bigger builds lost sight of something: Launchling lost sight of its quality and its costs, and emilysas.com briefly went offline when its free hosting credits ran out. The common lesson is the one I keep relearning, which is to be able to see the consequences of what you're doing from the first action.
What happens next
This lab is the next data point. I'm rebuilding it with an agent that can run and preview what it builds, and logging the build as I go, so the two can be compared honestly. You can follow it in This lab, rebuilt.
If you're bringing coding agents into a team and working out where the time and the risk will go, I'd be glad to compare notes. Get in touch.