I have a head cold. I can’t stop blowing my nose. It’s mildly uncomfortable. Because I’m feeling unwell, I have been banished to my office.
The bright side is that I have had all day and all evening to tinker. I have a seven-and-a-half-month-old daughter, Tulie. I love her to death, and she takes up a lot of time. Last year, ahead of Tulie’s arrival, I bought a house, and that also takes a lot of time.
But today, I got to vibe out.
I built more websites in the last two months than I have in the last two years. Prior, most all of my creative energy and focus when it came to technology were pointed at Beaver Builder. With the speed and ease one can build with AI, and my desire to learn as much as I can about this new technology, I’ve been building a LOT of websites.
The caveat is that most of these sites were not WordPress. I tried Astro, static sites (a lot of static sites), EmDash, etc. I knew WordPress has been working hard to support AI tooling, but it was still a few paces behind the frontier.
This week, things changed when WordPress 7.0 released with a native AI integration. Today turned out to be a fantastic day to get sick and spend some time experimenting with WordPress and AI on a real website…
So I’ve had this personal blog where I post the occasional yearly update and a few thoughts here and there. It’s been a long time since I’ve actually dug into the code and worked on any of the theme or markup. We’re also on the cusp of publicly releasing our AI integration for Beaver Builder. I’ve been meaning to take Beaver Builder AI for a spin outside a controlled sandbox environment. This blog is a great candidate because it’s a real site, it’s live, it’s got a style, and it’s low-risk – not mission critical.
From Cove, Caddy, and vibes to live.
So here I am, several hours later, with a pile of tissues next to me and a brand-new home page and theme for my blog. I started by using Cove and having an agent set up a local development environment with Caddy as the backbone.
Then I had the agent SSH into our company VPS, pull down my blog, and configure everything to run locally. Let me say that another way. I ported and migrated a WordPress site just by talking to my computer. Amazing!
I logged in and was immediately bombarded with upsell notifications and admin links from various plugins, so I had my agent rename and rewrite those plugins, removing all the marketing and fluff that I wasn’t using. Ahh. How nice. GPL for the win.
I was using the 2019 theme, and it’s starting to show its age. So again, I asked my agent to create a new modern theme using the same style as my existing site. I wanted to be able to have full-width pages to use with page builders. I wanted to be able to hide titles for pages and posts. I wanted to have minimal excess markup and CSS. And the agent one shot it. I mean, I tweaked a few things, but after giving the instructions and letting it work, I refreshed this page, and it just worked.
From there, I asked another agent to help me create a static landing page with all the projects I’ve been working on over the last several weeks. The agent already knew where to find my active projects. It used favicons to add some visual flare to each project. It had my writing profile, which I trained on the dozens, almost hundreds, of blog posts I’ve written, all of my notes, and samplings of my emails and Slack messages. So it drafted a few paragraphs to explain who I am and what this blog is about
Editor’s note here. I have been using Mybbor.com for all my AI blogging. After working with an agent on a project, sometimes I will ask it to write a blog post explaining what we did and how we did it. Those live there. The posts here are, and will always be, my own writing. Writing is still a muscle I want to flex so that it does not grow weak.
After that, I used Beaver Builder AI to import that static HTML file into Beaver Builder. Now, I can click around, edit text inline, and further customize the site using Beaver Builder’s visual interface and BB AI’s new chat feature.
From there, I had the agent log in to my relatively new Digital Ocean droplet and configure Caddy to be able to run PHP and a database. I asked it to import the new WordPress site from my computer to the server. I then asked it to update the domain name and DNS in Cloudflare to point at the new server. It configured Plausible CE which I am using for analytics.
As I started writing this blog post, I realized the block editor wasn’t inheriting the site’s typography styling, so I had the agent create an editor stylesheet and push it up to the live site. I saved a draft, hit refresh, and now I’m writing on a page that looks the same in the backend as it’s going to render out on the frontend.
After all that was finished, I figuratively took a step back and looked at everything I’d done: a new landing page, a hub to show off the projects I’ve been working on, a list of notes and feedback to provide to the development team about Beaver Builder AI, a modern, lightweight WordPress theme, and several new plugins engineered to do exactly what I want them to do and nothing else.
I thought to myself, “I should write a blog post about this.”