← Back to blog
Build Log Feb 18, 2026

I Rebuilt This Site 4 Times in 48 Hours. Here's What Actually Happened.

The first version of the homepage was bad. I said so out loud. I rewrote it four times before I approved anything.

That’s the actual story. Not “I built a site in 48 hours.” I built it with Claude Code, hated it, rebuilt it, got it wrong again, and eventually landed somewhere worth shipping. Under 48 calendar hours. Roughly 12 hours of real work. Just me in a terminal, telling an AI what I wanted until it got it right.

Here’s what actually happened.

Key Takeaway: Building a site with Claude Code isn’t “describe what you want, done.” It’s closer to working with a fast junior dev who needs direction. The value isn’t speed — it’s being able to iterate fast enough to find the right version before you give up. Stack: Astro 5, Netlify, Tailwind v4, Content Collections for the blog. Total hosting cost: €9/month.


The Stack

LayerToolWhy
FrameworkAstro 5Static output, zero backend, fast build
HostingNetlifyPaid tier, auto-deploy on push, forms included
CSSTailwind v4Utility classes, no config overhead
BlogAstro Content CollectionsMarkdown files = no CMS, no DB
SchemaJSON-LDGEO optimization for AI search engines
FontsSora + IBM Plex MonoDark, dense, terminal-meets-editorial

No database. No server. No backend. The site is a folder of files. Astro generates them once, Netlify serves them everywhere. Nothing runs when someone visits — they just get the files. That’s why it’s fast, free to scale, and impossible to crash.

The only tradeoff: to publish a blog post, I write a .md file and push to Git. There’s no admin panel. Given I have Claude Code, that’s faster than any CMS I’ve used.


The Process — What Actually Happened

Day 1: Four Homepage Iterations

v1: Wrong. Didn’t match the Figma direction. “Doesn’t look like my site at all.”

v2: Glassmorphism, gradient borders, floating orbs. Better. “Boring, no watermark, readability is bad.”

v3: Watermark added, better readability. “Everything is boxes. Looks like an agency landing page.”

v4: Full redesign. Asymmetric layout. Case studies as rows with hover effects (not cards). Monospace labels everywhere. Sprint dashboard with live experiment status. Outcome-based stats. 5 sections instead of 10.

That’s the one that’s live.

The iteration speed is the actual advantage. Each round was ~90 minutes of work. Manual, that’s a day per version. With Claude Code it’s a morning per version. You still have to make all the judgment calls — but you can afford to throw things away.

The Rejected Secondary Pages

After the homepage was done, I asked for the lab, GTM OS, and contact pages to match the same design system.

The first attempt was a paint job. Purple tints, borders added. Same structure underneath. I said: “If this is your best, that’s a problem.”

Second attempt was a full rebuild. That’s what shipped.

The takeaway: tell the AI exactly which elements to reuse. “Match the homepage” is too vague. “Use the same grain overlay, card-glow effect, accent dividers, and breadcrumb pattern” gets results.

The Blog Page War Council

The blog wasn’t just designed. It was roasted.

Three agents reviewed the same design independently. Each caught different problems:

  • Design: counter animations on small numbers look desperate. Hero is generic.
  • Growth: only one CTA at the bottom. No email capture. Stats above content inverts the hierarchy.
  • Technical: 20 CSS inconsistencies. Accessibility issues. Schema incomplete.

Ten fixes applied. Then shipped. The protocol isn’t “does it look good?” — it’s “what’s wrong with it?”


Static Over Dynamic

I had an existing site with a backend. Maintenance, updates, security patches. The new site has none of that. It’s files on a CDN. If 10,000 people show up, they all get the same files. No server load. No cost spike. No downtime.


Optimized for AI Search, Not Just Google

The blog isn’t only optimized for traditional SEO. Every page has JSON-LD structured data so AI can parse the content accurately. The robots.txt explicitly allows AI crawlers. Key Takeaway boxes sit at the top of every article. FAQ sections have clean question-answer pairs.

As AI-generated answers replace search results for informational queries, the sites that get cited are the ones structured for extraction. That’s what JSON-LD does. That’s why the Key Takeaway boxes exist. Not for humans — for the AI that will summarize this article to someone who never clicks through.


What’s Still Not Done

The contact form sends submissions to Netlify, not HubSpot. That means leads sit in a dashboard I check manually instead of flowing into my CRM. Fixing next week.

CTAs on individual articles are missing — still on the list.

Each of these is a known problem, not a surprise.


The Honest Take

Building fast doesn’t mean building right the first time. It means you can afford to be wrong four times before you get it right.

The speed is real. The iteration cost is low. But the judgment calls — what to keep, what to kill, when something is ready — those are still yours.

Claude Code doesn’t make decisions. It makes decisions cheap enough to revisit.

That’s the actual shift. Not “AI builds your site.” AI makes throwing things away affordable.


Frequently Asked Questions

What is Astro and why use it for a business site?

Astro turns your pages into plain HTML files ahead of time. No server running, no database, nothing to hack or maintain. Visitors get pre-built files from a CDN. It’s fast, it’s free to host, and it doesn’t break. The tradeoff: publishing means pushing a file to Git instead of clicking a button in a CMS.

How long does it actually take to build a site with Claude Code?

This one took about 12 real hours across 48 calendar hours. But this isn’t my first site — I’ve built several with this stack before, so I knew what to ask for. The speed advantage isn’t the first version. It’s being able to throw away four wrong versions in a morning instead of a week.

What is GEO optimization and why does it matter for a new site?

GEO (Generative Engine Optimization) means structuring your site so AI search engines can read and cite it — not just Google. JSON-LD structured data, explicit AI crawler permissions, Key Takeaway boxes that give AI a quotable summary, FAQ sections with direct answers. As AI-generated answers replace traditional search results, the sites that get cited are the ones built for extraction.