The most useful demo artifact is the site itself, so here’s the build, plainly. A child theme owns every pixel of brand via theme.json tokens. Pages are composed from registered patterns. Live numbers come from block bindings. And the content you’re reading ships with the theme: seed files plus an idempotent wp voyager-demo seed-showcases command, so a fresh deploy carries its own copy.
The process is the other half of the story. This site is built by agent sessions working a Notion task queue — one task per session, one pull request per task, fitness checks before every merge, discoveries written back so the next session starts smarter. The commit log reads like a flight recorder, because it is one.
Still true and worth saying: humans review every PR, some migrated patterns carry artifacts we haven’t polished out, and the deploy pipeline is younger than the theme. The repo goes public with the first deploy — at which point you can check every claim on this page against the history.
Behind the build
How we built it
A look under the hood at the tools, decisions, and architecture behind this project.
Theme
Custom block theme with design tokens, Inter typography, and native IntersectionObserver entrance reveals — no animation library in the theme.
Blocks
Voyager Blocks for animated sections, stats counters, testimonial carousels, and portfolio grids.
AI
Voyager Orbit for lead tracking and AI abilities. Content generated via Claude and published through MCP.
SEO
Programmatic SEO with block bindings, RankMath schema, and automated internal linking across all pages.