This Website
Static HTML, a Node.js build script, and Firebase Hosting. Project and writing pages render from markdown with frontmatter; the homepage is hand-edited; everything else is generated. No CMS, no database, no server — every post is a markdown file in git.
Pipeline
markdown ──► node build.js ──► public/ ──► firebase deploy
public/index.html is hand-edited. Everything else under public/ — project pages, writing pages, books, colophon, 404, sitemap, feed, robots — is generated by build.js and overwritten on every build.
Stack
- Node —
markedfor markdown,gray-matterfor frontmatter,katexfor math,cryptofor the build hash - Firebase Hosting —
cleanUrls: true, HSTS preload, strict CSP, immutable cache for fonts and images - Firestore — one document at
/site/waves, atomic-increment-only security rule, drives the real-time wave counter on the homepage - IBM Plex Sans — self-hosted woff2, Latin subset only, preloaded with
fetchpriority="high" - Google Analytics — loaded via
requestIdleCallbackso it never blocks paint
Show the work
Every page footer carries a live paint-time readout, the hosting region, and a link to its own source markdown on GitHub. The full set of internals — type, color, build hash, page count, word count, dependency list — lives on the colophon. The homepage runs a Firestore-backed wave counter that ticks across every visitor's screen in real time, with a small SVG oscilloscope showing recent activity.
The visual language is the Show the Work doctrine — clean complexity over hidden polish, internals as the surface, signal-red for live state.