The History of This Site

I remember the days of dial-up internet when browsing the internet meant clicking a page and coming back in 5 minutes. Fast forward to networks of today and the applications that run on those networks. It’s wild how fast technology evolves.

I was always interested in learning how to build websites. My first website I wrote by hand in HTML, learning all the syntax for page structure, headers, paragraphs, buttons, links and images. I even experimented with some basic JavaScript and using simple CSS frameworks. The first time I hosted a website, it was for a high school project, and after building the site and running it locally, I had to figure out how to adjust my home internet port forwarding for incoming connections from anywhere. I didn’t have a DNS record, so I had to remember the IP. I remember it worked great, until my home IP changed. Good enough for the high school project, but thinking about it now 25 years later… woof.

Years later in college, I thought I should create my own personal website. I purchased a domain from GoDaddy and used Bluehost to host my website content. I needed something to put on my resume besides class projects. The website itself wasn’t that dissimilar to what I did years earlier, except now we had nicer CSS frameworks to leverage and can make it more interactive.

Once I started professionally working, I really didn’t play around with my own site. Eventually I shut it down, why pay a yearly fee for things I’m not using. I eventually got a new domain, but simply forwarded it to my linkedin profile rather than build a website. All I really wanted the domain for was to have a unique email address. Google Domains was so nice! I’m sad Google sold it.

When I was getting my masters degree, I didn’t really build websites, but I did develop a few web services on AWS EC2 VMs for various projects. One that comes to mind was a fully automated coffee maker that was cloud controlled and had an app. I wrote all the back-end services and APIs. Knowing what I know now, for that simple project use case, I probably should have explored serverless more, but EC2 VM was easy enough and I used python flask.

Around that same time, for a work project we were developing lab guides for a trade show. I wanted to find a better way for people to view the lab material instead of a PDF. I forget exactly what we used, but we found a tool that would take markdown files, build html pages and we could then host that site for the lab guide. We even got a domain and an SSL certificate to publish for that period.

This year, I fell for the marketing (in a good way) and got a Claude subscription that includes Claude Code. I needed something for Claude to do, so what better idea is there than to have Claude help me revamp my website. I wanted to use everything I had learned previously:

  • Write my content in markdown
  • Push markdown to GitHub – but the GitHub must be private and not public.
  • I wanted a setup where changes I pushed to GitHub automatically built the files I needed and dropped them in an S3 bucket.
  • I wanted to make sure the S3 bucket was private.
  • I wanted my website hosted on CloudFront and not have to manage any servers.
  • My domain needed to point to CloudFront.
  • Any roles I used in AWS were locked down.
  • I wanted to make sure HTTPS worked.
  • In addition, I wanted my site UI to be simple.
  • Lastly, I wanted a search function.

The experience using Claude Code was awesome. Claude developed the site in about 15 minutes. It used this Astro framework for the site. Then walked me through the step-by-step of each part of the configuration from github to AWS. There were inevitably errors, but it also helped me fix those as well. The only issue it couldn’t crack was how to get my website to work in the event a user doesn’t type ‘www’ in front of the domain. Since I use Squarespace (formerly Google Domains) Claude didn’t know about domain forwarding, fortunately ChatGPT did. The setting isn’t obvious. In all, it took me about 4 hours to do all this end-to-end, while having a nice beer or two on a Sunday afternoon.

Interestingly enough, last week I saw a website from an old coworker and friend, and their website looks the exact same as mine. Instead of “great minds think alike”, maybe the saying should be “great minds use the same tools”.