---
title: "How this site is built"
date: 2026-07-07
modified: 2026-08-31
author: "Miriam Schwab"
url: "https://miriamschwab.me/how-this-site-is-built/"
markdown_url: "https://miriamschwab.me/how-this-site-is-built.md"
type: page
excerpt: "This is a fully custom WordPress theme. Hand-written (by AI) PHP templates, plain CSS, plain JavaScript. What you’re looking at right now is served straight out of files like single.php..."
---
This is a fully custom WordPress theme. Hand-written (by AI) PHP templates, plain CSS, plain JavaScript. What you’re looking at right now is served straight out of files like `single.php` and `page-media.php`.

Nearly all of it was built through conversation with Claude, iterating this way over dozens of sessions rather than starting from a design file and translating it into code by hand. The [changelog](/changelog/) is the session by session record of that process, warts and dead ends included. This page is the current state summary, kept up to date whenever something material changes rather than after every small fix.

The site is built to be readable by AI agents: markdown versions of every page and a discoverable skills index, both handled by my [Make My Site Agent-Ready plugin](https://miriamschwab.me/plugins/make-my-site-agent-ready/). On top of that, MCP-based tools let an agent, including the one that helped write this page, read and update the site directly, with every write staged and confirmed before it applies. That’s my [MS WordPress Abilities plugin](https://miriamschwab.me/plugins/ms-wordpress-abilities/), now open source on [GitHub](https://github.com/miriamschwab/ms-wp-abilities). Both are among the [several custom plugins I’ve built for this site](/plugins/).
