sage@afterdark~~/colophon
·UPDATED · 2026-05-04
// build notes

Colophon

How this site is built, in case you want to build one too. The whole stack is open and copy-able.

// the stack
  • FrameworkNext.js 16 (App Router · Turbopack · RSC)
  • LanguageTypeScript strict
  • StylesTailwind v4 (@theme tokens, no plugin layer)
  • TypeGeist Sans + Geist Mono via next/font
  • ContentMDX + gray-matter + Zod-validated frontmatter
  • HostingVercel (edge runtime where applicable)
  • Domainsageafterdark.com (Cloudflare DNS)
  • Repogithub.com/JasonTeixeira/sage-after-dark (private until launch)
// design system
  • Eight-color base palette. Two accents (cyan #00E5FF · ember #F59E0B).
  • Seven pillar colors used only as 1px borders, tag chips, and reading progress bars.
  • 66ch editorial reading column. clamp() type scale. Tactical grid at 24px / 1% alpha.
  • Geist Sans body, Geist Mono for tactical labels (uppercase, 0.08em tracking).
  • WCAG AA contrast floor. Focus rings global. All motion gated by prefers-reduced-motion.
// authoring
  • Posts live in `src/content/posts/*.mdx` — six templates in `src/content/_templates/`.
  • Frontmatter is validated by Zod at build time. Bad metadata fails the build before it ships.
  • Each post declares one of seven pillars and one of six templates; the layout is selected automatically.

// thanks

The team at Vercel — for shipping the right primitives.

The team at Cloudflare — for the seven seconds of DNS propagation.

Geist's designers at Vercel — for the cleanest variable font on the modern web.

Every blog I've ripped off in spirit: Pixel Aircraft, XOTC, Robin Sloan, Maggie Appleton, Patrick McKenzie.