How this site is made.
A public snapshot — what is here, how it is built, what it does with your data, and what has changed recently.
Content
Recent updates
-
1818 Oct 2026Published The Piece You Write Twice, the fifth essay.Writing
-
1515 Oct 2026Added /links — people, essays, talks, and tools.Page
-
1212 Oct 2026Rebuilt /notes with 14 dated entries and a new RSS stream.Notes
-
0808 Oct 2026Switched the contact form to Web3Forms after FormSubmit silently failed.Infrastructure
-
0505 Oct 2026Added /colophon — how this site is made.Page
-
2828 Sep 2026Enabled View Transitions for cross-page fades.Design
-
2020 Sep 2026Published the first essay and turned on the RSS feed.Writing
-
1212 Sep 2026Rebuilt the entire site as a single PowerShell generator.Infrastructure
How it works
Every page on this site is generated from a single PowerShell script. There is no framework, no bundler, no npm, no build pipeline beyond one file. Running the script rebuilds the whole site from scratch in under two seconds.
The style sheet and script weigh 42.4 KB combined and are cached after the first visit. A typical page is about 8.7 KB of HTML, so the first page a visitor sees costs roughly 51.1 KB — and every page after that is smaller still. No web fonts, no analytics scripts, one small portrait image. There is nothing here that needs optimising because there is almost nothing here.
The site is deployed to Cloudflare Pages. Each deploy is versioned and can be rolled back with a single click. HTTPS, CDN distribution and image optimisation are automatic and free.
Full technical details are in the colophon.
Transparency
No tracking cookies. Nothing on this site sets a cookie. If you use the theme toggle, the preference is stored locally in your browser and never leaves your device.
No third-party scripts. The site loads no analytics libraries, no advertising pixels, no social embeds, and no fonts from external servers. Everything is served from this domain.
No personal data collected. The only data that leaves your browser is what you type into the contact form, and only when you press Send. That submission goes through Web3Forms and reaches my inbox — nothing is stored on this site.
No analytics beyond the basics. Cloudflare provides anonymous, aggregate pageview statistics to the site owner. No individual visitor is identified, no fingerprinting is used, no cookie banner is required.
If any of that changes, it will be noted here first.
Elsewhere
- 01RSS feedEssays and notes in one stream, updated whenever anything is published.
- 02SitemapEvery URL the site publishes, for search engines and crawlers.
- 03ColophonFull technical breakdown of how this site is built.
- 04LinkedInWhere the professional version of me lives.