How this site is built
A deliberately small static site. The public work stays portable and easy to inspect, and it stays separate from the private drafts and sources that produce it.
The system
- Static by design
- Cloudflare Workers Static Assets serves the contents of
artifacts/directly. There’s no Worker script or API handler for the public site. The only build step is a small feed and sitemap generator (npm run feeds) that runs before publishing. - One visual system
- The home and section pages share
site.cssandtheme.js, with self-hosted Fraunces for headings and Source Serif 4 for text. Paper is chart-paper white with indigo ink; Night is a navy ground with a lamp-amber accent. The first theme you see follows your device’s preference, and a choice you make is saved in your browser. Each essay keeps its own typography and sharesessay-chrome.cssfor navigation. - Every piece in its own folder
- Each public artifact keeps its own
index.htmland local assets together in one folder. That keeps it portable and keeps its public address stable. - Cloudflare is the edge
- Only
artifacts/is deployed. Redirects, security headers, caching rules and the custom 404 page live alongside that public surface. - Public output, private sources
- Project files, drafts and working notes stay in their own repositories and notebooks until they’re intentionally published.
- No framework
- This is a static catalog, so plain HTML and CSS keep the publishing path simple and avoid complexity the site doesn’t need. It grows one self-contained piece at a time.
- AI-assisted, human-directed
- AI helped build it; I decided what it should be. How I work with AI.