How I built this.

Fri Jul 18 2025

aiclaude codelearningastro

I’m learning about AI supported programming techniques. I built this site using Claude Code to help me cover the gaps in my programming expertise - specifically frontend development.

My process:

  1. Choose a project that I haven’t gotten around to, and that I want to ship.
    • I chose to create my personal website, here’s why.
  2. Choose a tech stack which is simple, efficient and effective for my needs.
    • I’m a fan of static sites for my purpose. I chose Astro since it is easy for me to learn, fast, modular, supports markdown based content, has a developer experience/flow that I am familiar with and it has TypeScript support.
  3. I quickly learned about Astro by completing their tutorial which happens to cover most of what I wanted to create for my personal site.
  4. I failed with my first attempt to get Cursor to build this for me. I gave it too large a set of requests in one go. Things got out of control. The IDE interface was a bit confusing. All of this is due to my lack of expertise on this front, and not an issue with Cursor.
  5. Start from scratch with Claude Code, which felt so familiar for a guy who grew up using the CLI, vim and git (or, ahem, svn before we had git).
  6. Provide compact and precise instructions, one at a time. This was only possible because:
    • I had a clear vision about why I was doing this, and what I wanted.
    • I did the tutorial initially and knew the approach I wanted to take.
  7. Move fast, iterate, remember that git branch is your friend, so you can contain anything unexpected that happens when working with an AI Agent.
  8. I really enjoyed the process and workflow. Being able to review all changes prior to progressing was very helpful. I used my typical git flow, and my long held discipline in making atomic changes and commits. Note: I did all of this prior to Claude’s Plan Mode and would recommend Plan before Execute ;)
  9. After getting the site up and running, we refactored towards more DRY code. Eventually, instead of giving specific direction, I just asked Claude Code to DRY everything up. It did a really decent job of this.
  10. Then, we went where I have very little skill: CSS. I had a very simple, clean look in mind and this made things easier. I was able to specify what I wanted, and we made good progress. There was one very unexpected benefit that occurred here. One aspect of the site design wasn’t looking right, it was subtle and I couldn’t figure out how to fix it (my lack of knowledge, and Claude was going in circles). This led to me actually learning something about CSS in order to locate the root cause and fix it. Win.
  11. Deploy using github and Netlify (and Dnsimple). Easy, because all of this is automated and provided out of the box for you.

Overall, this was a really fun experience with a valuable outcome. Now, the hardest part of the effort … to be observant, to reflect and to practice my writing skills using my blog.

Here’s what I learned by building this.