screenshot of CGW's blog

Yes, I vibe-coded a new landing page

I’ve been blogging for at least 20 years now, which means this site has lots of embarrassing signals of previous versions of myself. That also means whatever particular post I put up doesn’t necessarily present the particular person I think I am.

So I thought it would be helpful to have a simpler landing page online for my work and identity as a journalist and community contributor — one that isn’t owned by some distant publicly-traded corporation. Meanwhile, I was looking for a tiny coding project that I could complete on my own with the current generation of AI tools.

Here it is: I vibe-coded a (very) simple landing page at ChristopherWink.com, migrated my decades-old WordPress blog to a new hosting provider and brought it to a new subdomain.

It’s certainly sparse, with plenty of white space. Partly that’s because of my limited skills, and it being a new first pass.

This required a site migration that i started with ChatGPT in the browser before moving to Claude Code, which I installed locally on my Macbook back in January (thanks for the help Sean!) As simple as a site migration should be to the technically inclined, it was still above my experience level, so I reached the end of what a browser-based ChatGPT model could help me with (it was slow and crashing). Meanwhile, I wanted an excuse to complete a project with Claude Code anyway. (I’m paying the $20 per month ChatGPT Plus version, and I recently upgraded to the $100-per month Claude Max level, which I’m using locally).

I first bought the domain of my name (christopherwink.com) as a 19-year-old in 2005. I made some pages (shoutout Dreamweaver), figured out hosting, and then let it lapse. The next year, I started blogging for my college newspaper and elsewhere, and by 2007 I brought those disparate writings together in one place: a WordPress blog.

I’ve posted at least once or twice a month ever since. It’s always been a personal space to collect what I’m reading, writing, and learning. I just made the first real change here in over a decade.

In 2009, I moved the work to an independently hosted blog (with help from that same friend Sean). In 2013, I cleaned things up with a responsive template for growing mobile usage. By 2015, as my professional career became more established, I found the rhythm of what I do here. And now, I’ve made another shift — one that reflects both what I do today and a desire to actually use the AI tools I’ve spent the last few years thinking and writing about. Reflecting my more straightforward work now, I built a simple homepage for my site and moved my long-running blog to blog.christopherwink.com on cheaper, simpler hosting.

The homepage itself was “vibe-coded” — a phrase that still feels a little silly, but also pretty accurate. I used a mix of ChatGPT and Claude Code to generate, refine, and troubleshoot it. That process was the point as much as the outcome. I wanted to test what I could do myself, where the tools helped, and where they still fall short. It was a small project, but a useful one — a reminder that the barrier to building something on the web is once again getting lower. I migrated my WordPress blog from WP Engine (where I ended up when understandably my coworkers at Technical.ly were like, “Chris, your personal site needs to be your own thing, not on the company hosting”) to DreamHost Set it up at blog.christopherwink.com Built a static landing page locally using Claude Code Used ChatGPT to help debug DNS, hosting, and SSL issues Re-pointed my root domain to the new static site It’s not a reinvention — just a refresh. Same habit, new setup.

That process was the point as much as the outcome. I wanted to test what I could do myself, where the tools helped, and where they still fall short. It was a small project, but a useful one — a reminder that the barrier to building something on the web is once again getting lower.

For my own memory, this is what I did:

  • Migrated my WordPress blog from WP Engine to DreamHost
  • Set it up at blog.christopherwink.com
  • Built a static landing page locally using Claude Code
  • Used ChatGPT to help debug DNS, hosting, and SSL issues
  • Re-pointed my root domain to the new static site

It’s not a reinvention — just a refresh. Same habit, new setup.

Site History:

  • V 1.0: I first bought ChristopherWink.com sometime in 2005, built a simple site using Dreamweaver before struggling to find a reason why and letting it lapse.
  • V 2.0: I bought ChristopherWink.com again and forwarded it to a WordPress.com blog I launched on Dec. 3, 2007  to leave a footprint in what was the always expanding Internet community.
  • V 3.0: During the first week of July 2009, I moved that blog content from WordPress.com to an independently-hosted version.
  • V 3.5: In September 2013, I updated my WordPress theme for the first time, opting for a simpler, responsive platform with more flexible posting options.
  • V 3.6: In October 2015, I updated my WordPress theme, choosing “Twenty Fifteen” for its lighter coloring and lightweight feel.
  • V 4.0: In March 2026, I vibe-coded my own landing page and a clean-simple blog subdomain.

Leave a Reply

Your email address will not be published. Required fields are marked *