Building This Site with AI

Building This Site with AI

I didn’t build this site the traditional way. I didn’t open a terminal, scaffold a project, and grind through CSS for a weekend. Instead, I had a conversation.

My AI assistant (running on OpenClaw, powered by Claude) and I talked through what I wanted: a simple blog, dark mode, fast, no hosting costs, content in git. It wrote the full site spec — pages, components, colors, typography, content structure. Then Claude Code took that spec and built the actual site.

I mostly just had opinions.

The Workflow

  1. Conversation — I told the agent what GiSquared should be. It asked the right questions and made recommendations (Astro over Ghost, Cloudflare Pages for hosting, Tailwind for styling).

  2. Spec — The agent wrote a detailed site specification: every page, every component, color palettes, typography, SEO requirements, even seed post ideas. All committed to the repo.

  3. Build — Claude Code took the spec and built it. Astro project, layouts, components, styling, content collections, dark mode, the works.

  4. Content — I wrote the posts (with some help drafting). The agent handles the boring parts; the voice is mine.

What Surprised Me

The spec was the hard part, not the code. Getting the design direction, tone, and structure right took more thought than the implementation. Once the spec was solid, the build was almost mechanical.

AI is better at scaffolding than finishing. The initial build was fast and solid. The tweaks, the “make this feel right” adjustments — that’s still a human loop.

It’s not cheating. I’ve seen the discourse. Using AI to build a personal blog isn’t cheating any more than using a template is. The decisions are still mine. The words are still mine. The tool just moves faster.

The Stack

  • Astro for the framework
  • Tailwind CSS for styling
  • MDX for content (Markdown with components)
  • Vercel for hosting
  • Git for everything

Total monthly cost: $0.

Would I Do It Again?

Already am. Every side project I’m working on now starts with a conversation, becomes a spec, and then gets built. The days of staring at a blank create-next-app are over.