Colophon
How this site is made.
A studio site is a demonstration whether or not it is meant as one.
Build
Build
- Display
- Instrument Serif
- Text
- Inter, variable
- Fonts
- Self-hosted WOFF2 subsets, ~63 kB Latin. No third-party requests.
- Framework
- Astro, fully prerendered to static HTML
- Hosting
- Cloudflare Pages, served from the edge
- JavaScript
- ~5 kB, for the theme toggle, scroll reveals, and the hero figure
- Content
- Markdown collections, schema-validated at build time
Machine readability
Built to be read by machines too
A growing share of the people who meet this site will never see it. They will read a summary a model wrote. That was treated as a design constraint.
- Complete HTML
- Nothing meaningful appears only after hydration.
- Heading hierarchy
- One h1 per page, descending without skips. Enforced by a build audit.
- JSON-LD
- One connected @graph per page, so entity relationships are explicit.
- Markdown mirrors
- Every page at the same path with a .md suffix.
- /llms.txt
- Structured site index, llmstxt.org convention.
- /llms-full.txt
- The whole site as one Markdown document.
- /api/site.json
- The studio as structured JSON.
- robots.txt
- Names ~60 AI crawlers and allows them, with an explicit Content-Signal.
Honesty
An honest caveat
Some of the above is convention rather than proven mechanism. Public evidence that major
AI systems consume llms.txt is thin. It is here because it costs a few
kilobytes, not because it can be shown to move anything.
What is not in doubt is the discipline underneath. Clean semantics, complete HTML and clear writing have been right for accessibility and search for decades. The audience changed; the craft did not.
Accessibility
Accessibility
- WCAG 2.2 AA, verified numerically rather than assumed.
- Full keyboard navigation, visible focus ring, skip link.
- prefers-reduced-motion fully respected.
- Readable and complete with JavaScript disabled.