colophon
how this site is built. source on github.
framework
- Astro — static-site generator with islands architecture. ships ~zero JS by default.
- TypeScript — used in component frontmatter and data files.
- Astro Content Collections — blog posts are markdown files with typed frontmatter.
hosting
- Cloudflare Pages — auto-deploys on git push. global edge, $0/mo at this scale.
- Cloudflare DNS — manages jysf.org records.
- Cloudflare Email Routing — forwards [email protected] to my real inbox without exposing it.
- Cloudflare Web Analytics — privacy-first page views, no cookies, auto-enabled for the Pages domain.
tooling
- pnpm — fast, disk-efficient package manager.
- just — task runner — saner alternative to npm scripts for common commands.
- Playwright — 17 smoke tests covering every page, the 404, draft banners, and email obfuscation.
- Wrangler — cloudflare cli — installed for when i add Pages Functions later.
design
- Inter — typeface for everything on the site.
- hand-rolled CSS — no framework. scoped per component, dark theme only (for now).
co-pilot
- Claude (Sonnet 4.6, Opus 4.6) — pair-programmed most of the scaffolding, components, and tests. notes coming in the blog.
- Claude Code — the CLI agent that actually wrote the diffs.