I built this site with Claude
I didn’t write most of this site. Claude did.
Not the words. Those are mine. But the code? That was just a text thread!
Some context
I’ve been using Claude Code for about five months now. It’s become an integral part of how I build things. If I’m not building with LLM tools like Claude Code, OpenCode, and Codex, I’m losing time. But my personal site? That stayed the same outdated WordPress page it’s been for years.
I finally got around to it.
The setup
Claude Code is Anthropic’s CLI tool. It runs in my terminal, reads my files, and writes code based on what I ask for. It just edits things directly.
The stack is simple: Astro for static site generation, vanilla CSS, and not even a single JavaScript framework.
How my build went
I started with a blank Astro project and a rough idea: monochrome and monospace. From there it was just back and forth.
“Make the header stick to the top.”
“The arrows are too small on mobile.”
“I don’t like this. Give me five other options.”
That last one happened a lot. Claude would propose something, I’d react, and we’d iterate. Sometimes I’d approve immediately. Sometimes we’d go through ten variations before landing on something that felt right.
The technical bits
For anyone curious about the actual setup:
Project structure:
src/
pages/ # Each .astro file = a route
components/ # Reusable pieces (Header, etc.)
layouts/ # BaseLayout has all the <head> SEO stuff
content/ # Blog posts as markdown
styles/ # CSS
public/ # Static files (favicon, og-image, robots.txt)
Free hosting on Cloudflare Pages:
- Push code to GitHub
- Connect repo to Cloudflare Pages
- Set build command to
npm run build, output todist - Done
You get unlimited bandwidth, auto-deploy on push, preview URLs for branches, free SSL, and global CDN. Total cost: $0.
The result
You’re looking at it. Built in a few sessions over a couple days. Definitely the future of how I build everything now.
This post was written by me. The site was built by Claude. We make a good team.