How I Built This Website with AI Assistance
This site is a static Astro blog hosted on Cloudflare. I built most of it with AI assistance. Here’s what went well and what didn’t.
What I Wanted
A site that needs little upkeep. Write a post as a Markdown file, push it, done. The host rebuilds. No server, no database, no CMS. The thinking behind it was simple: I want to spend my time writing, not on updates.
Where It Helped
Mostly with the setup. Astro’s content collections with content.config.ts, a glob loader, and a Zod schema aren’t something you keep in your head when you do this twice a year. Instead of paging through the docs, I had a working version in a few minutes.
Same for the busywork around it: RSS feed, sitemap, security headers, a card grid that also works on a phone. These are all well-trodden patterns. A decent first draft saves real time there, even if you still go over it afterwards.
With design the benefit was a different one. I’m bad at describing how something should look, but I spot immediately when it’s wrong. Throwing out “dark, glass, subtle aurora” and getting back CSS I could push against was faster than an empty file.
Where It Got in the Way
Outdated suggestions, delivered with a lot of confidence. Some solutions used older Astro patterns that no longer match the current APIs. The build catches that, but only if you actually run it.
The case that gave me the most to think about: for a while the footer said “cookieless analytics”. There was no analytics on the site at all. None of it was deliberate. That sentence just belongs in a footer like this, so there it was. And that’s the real risk. Not the code that won’t compile. You find that one. It’s the sentence that sounds plausible and still isn’t true.
And then there’s knowing when to stop. If you don’t say enough is enough, there’s always one more feature. Deciding that something stays small is nobody’s job but your own.
What It Ended Up Being
A site I extend by dropping a Markdown file into a folder. Security headers and the CSP live in a Cloudflare Worker, the fonts are self-hosted, and drafts have their own preview route that isn’t indexed.
What I took away from it is less quotable than these posts usually make it sound: AI is strong at anything well documented and done many times before. It’s weak exactly where I’m the only one who can judge whether something is true. The output is a good draft. I still have to check and verify it.