am2.co just got a new look

The WordPress logo morphs into the Hugo logo.

This site was starting to get a little dusty. Things change fast in tech—as database folk, we often think of technologies, languages, and capabilities—but design and UX are constantly evolving, too. The styling and the design were both starting to look a bit dated, and “a bit dated” is not a term I want associated with my professional blog/website. I haven’t been writing a ton of new content, so I also haven’t been putting in the incremental upkeep. Anyway…let’s talk about my updates.

WordPress ain’t cheap.

Regardless of whether you pay out of pocket, expense it to your employer, or have a wealthy sugar daddy gifting you a WordPress site–hosting costs can add up, and that money could go to other things. Of course, shutting down my site wasn’t an option, so I would have to migrate to a new platform, or keep on paying.

I decided to finally spend some time and money on my site, and I started with the cost-cutting. I hadn’t taken any action to research my options–not so much as a Google search–but it’d been on my mind for a while, so I had thoughts on how I might handle it.

Last Sunday afternoon I was in the car for a few hours, so I fired up ChatGPT in conversation mode and prompted:

I have a WordPress blog at am2.co that I want to migrate to a new platform that is either free or low cost. However, I want a high degree of reliability and performance, so I cannot run this on a pi in my laundry room. Describe to me, in detail, what my options are …

And to be honest, I just kind of rambled for a whole minute or two. It was a brain vomit of the things I’d been thinking about but hadn’t sorted out yet. I have no idea what I said. But then I finished with:

Your response is in the format of a Wirecutter review. Selective and opinionated, but not biased. In-Depth, and real-world.

And when I stopped talking, ChatGPT read back to me an extremely long and detailed list of my options. I killed over an hour of my drive just listening to this personalized review, and having a conversation with the robot over bluetooth (how’s that for sci-fi and reality blurring the lines). At the end, I’d learned a bunch and had gotten some help with organizing all those thoughts. This is a spot where AI really, really shines.

Later that night, I got bored

Later that night, shortly before midnight, I picked up my laptop and started to chat with my friend Cody (that’s what I call my Codex agent).

I was on a machine I haven’t used for much development, so I installed the GitHub gh CLI and the Cloudflare cf CLI on my Surface Laptop1. I pointed Cody at the most recent backup of my WordPress blog, and I told him the plan.

Since I was already using Cloudflare as my proxy and CDN, hosting the site there would simplify my stack instead of adding another platform; Cloudflare is an industry leader with a deep toolbox and a generous free tier, while Hugo is simple, reliable, fast, open source, and widely used.

If I were 20 years younger or a techbro, I would talk about my night as “vibe coding,” but I’m middle-aged and like reality, so I reject that label. I’m just using a new tool to go faster.

I’m not Amish (though, there is a lovely Amish community up the road a bit)–and I like power tools, so let’s see if I can put together something low-stakes and fun using power tools I didn’t have on my last site update. And I’ll do it on a US$20/month Codex Plus plan (actually, I’m still on a free preview….).

A SpongeBob-style 20 Minutes Later title card over the GitHub initial migration commit.

20 minutes later

In no time, Cody had dug into my WordPress backup, inventoried everything, and I was watching over the shoulder of a skilled web developer as I played Reliability Engineer and Product Manager. I helped with the DevOps stuff, and I handled all things authentication or secret-based. I was describing what I wanted, and Cody was hard at work converting my specs into an implementation.

In less than 2 hours, I was in bed having configured a new GitHub repo, set up some Cloudflare Workers (my domain was already behind a Cloudflare WAF), and had a pipeline connecting the two. There was a test subdomain serving up a Hugo static website. I had my rough plumbing done, and felt like I had accomplished a lot on my little Sunday-night building binge.

I’m going to pause right here.

Without Cody as my power coder, I could have set that all up by following a few tutorials on YouTube or other blogs. I would have a little “Hello World!” site running on all the same tech, and be ready to start thinking about my site more specifically. I’d have a chance to figure out what I was about to commit to building. I’d start to think about migrating my data, and all that.

This is what we do for work!

Whatever your job title is, if you read this blog, you know a thing or two about a server migration. Your job is to do these things–you might even be skilled at doing server migrations while wearing the handcuffs of limited downtime and strict SLAs. I don’t migrate websites directly, but the fundamentals of high availability are…… fundamental. The same principles apply, so I’m primed to apply those work skills to this task. I’m hyped. My ADHD is ready to hyperfocus on something and get it done.

I can do this. We can do this. We can do a front-end website migration, even though we’re database people, right? RIGHT?!

A rainbow logo reading Reliability Is Fundamental in bold red lettering.

OK, Back to my story…

With Cody, that POC site wasn’t “Hello World!” It was my website. It was am2.co in the flesh. It was far from perfect, but it was something more important than “perfect”. Something much, much, much more important. It was working!!!

  • 20 years ago, I would had to hire someone to build my website for me, and it would take weeks for me to see something tangible.
  • 2 years ago, I would have done it myself with multiple weekends of frustration trying to figure out the layers I don’t usually maintain as part of my job.

Because, here’s the thing: My teensy little website is just a tiny little blip on the internet. Its complexity is intentionally extremely low. For that simple case, for my static website, Cody doesn’t need much from me. I had perfect proof that I could migrate my site, because Cody had just done 80% of the work.

It took a weekend’s worth of effort until I was happy with the finished product & process for the last 20%. And it’s that last 20% — the part where you ask the right questions, give feedback, and infuse your human knowledge and opinions that makes AI a valuable power tool in the toolbox. It takes time and practice to learn how to use a new power tool. The trick is to practice, get comfortable with your tool, and to actually use it to do something real.

Anywhoooo….

At the end of the day, I spent the equivalent of a weekend migrating my blog, and ending up with a much better product at the end of it. For free. Zero hosting costs going forward. Zero servers that I own.

I’m going to write about it over the next few weeks. Depending on what you are looking for, you might be interested in following along for the:

  • Tutorial on how to migrate a WordPress blog to a Hugo static site hosted on Cloudflare
  • Real-life anecdote about using AI for a tedious task
  • “Tech Lego” porn, assembling free tech into a useful thing
  • Dry humor and extremely unnecessarily specific pop culture references.

Footnotes


  1. It’s a 7th Edition Surface Laptop with a Snapdragon X Elite 12-core ARM CPU. ↩︎

Categories: Tools & Automation

Join the conversation

Sign in with GitHub to comment.

GitHub subscribes you to discussions you participate in or are mentioned in.
Use Watch → Custom on the comments repository to follow Discussions only;
control email delivery in your GitHub notification settings.