Blog
-
Who’s Styling This Thing?
In the last post, we built a WordPress theme from two files and a handful of HTML. There were headings, spacing, blue links, bullet points, but we didn’t specifically ask for any of that 90s styling – the browser just did it. Browser Defaults Every browser comes with a built-in stylesheet. It’s the reason why…
-
The minimum viable WordPress theme
What does it take to make a WordPress theme? WordPress isn’t a traditional web server like Apache or NGINX in that it doesn’t serve files as such — it processes everything through PHP, and to do that it thinks in terms of themes. Without an active theme, WordPress won’t render anything at all. Style.css So…
-
The Wrap-Up
Closing the loop on a learning project The Caleb website launched in September 2025. I built it from scratch – going from first phone call to live site in about three months. Superficially, it’s all fine. The site looks exactly as it should, and Caleb is happy with it. However, it was the first time…
-
Infrastructure Review: Finding Order in Chaos
I’ve been building this site on the fly for months. Learning HTML, CSS, Tailwind, JavaScript, WordPress, git — all at the same time, all by doing. No bootcamp, no curriculum, just me and a series of AI conversations, building things, breaking things, starting again. It works. I learn fast this way. But it leaves a…
-
The Migration Chronicles, Part 2: What Happens When You Actually Use the Thing You Built
In Part 1, I wrote about the week that turned a routine WordPress task into something unexpected. By Friday evening I had a working local development setup for Caleb’s site, a Git repository with a clean child theme, and a SETUP.md document that described how to reproduce the whole thing. Claude Code had done the…
-
The Migration Chronicles: How a Routine WordPress Task Turned Into Something Else
Why I Started This I had a functioning website that I’d delivered to a happy client. I’d built it in the WordPress Block Editor, fumbling through with AI chatbots, official documentation, and YouTube tutorials – basically anything I could find to get past the next hurdle, until it finally coalesced into something that worked. And…
-
The Site Was Built. Then the Real Work Started.
This is an overview of a short series about setting up a local development workflow for a WordPress client site. There are more detailed posts on each stage — the repository cleanup, the database preparation, the child theme, and the rebuild. Start here and follow your curiosity. The site was built. The client was happy.…
-
What Should Actually Be in a WordPress Git Repository?
When I set up a GitHub repository for this project, I wasn’t thinking about version control in any disciplined way. I was thinking about having somewhere to keep things. Plans, designs, notes, and eventually — because it seemed sensible at some point along the way — the WordPress files themselves. By the time I came…
-
Five Steps from Nothing to a Working Site
This is the shortest post in the series, and maybe that’s the point. Everything described in the preceding posts — cleaning the repository, preparing the SQL dump, understanding the child theme — was building towards this moment: can we take a fresh WordPress installation and reproduce the site from just the files in the repository?…
-
What a WordPress Child Theme Is and Why It Matters
A child theme inherits everything from a parent theme and only defines what it needs to override or add. In practice, it’s a folder with a handful of files where your actual design decisions live. The alternative — editing the parent theme directly — is a bad idea because parent themes get updated, and updates…