Dan Matthew
Service

Operator test

System
Nimbus CMS
Skin
Attract mode (arcade)
Entries
on this screen
Menus
8 items
Path
/pages/colophon
Credits
Free play
Press ~ to toggle · Esc to close

Pages

Colophon — how this site is built

How this site is built — and why it is built this way.

Updated 4 Sep 2026

This site is a small argument for its own thesis, so it is worth saying how it is put together.

One content set, three skins

Everything here is a single set of content in Nimbus CMS — my own headless CMS — rendered through three interchangeable skins: The Desk (a mixing console), Attract Mode (an arcade floor), and Full Score (an engraved musical score). A skin is chosen at random the first time you visit and pinned for the session. That constraint is the point: if the same content has to render as a console, a cabinet, and a score, nothing can be hardcoded in a template. Every headline, number, and label lives in the CMS.

Seeded by an agent

None of this was pasted into an admin form. Every collection and entry was created over Nimbus's MCP API by an agent holding a scoped token — the clearest way I know to show that "a CMS an agent can run" is a real thing and not a slogan.

Drawn, not loaded

The site ships a strict, nonce-only Content-Security-Policy: no external scripts, styles, fonts, or images. So the type is a system-font stack, the visuals are drawn in CSS, and the architecture diagrams are hand-authored inline SVG that adapt to light and dark. The one concession is the per-project plate images — generated with a Flux model through my own Cloudflare worker, then served from this origin. The CSP also means there are no third-party trackers; the browser would not allow them.

Where it runs

Plain PHP templates and MySQL, behind Caddy, in Docker. Deploys are a theme rsync and a container restart.

Honestly

Built with heavy AI collaboration, reviewed and owned by me — the same as everything else here. If that combination is interesting to you, the projects are the evidence.