COLOPHON
How this site is built.
Bundle sizes and build metadata are read from this deploy. Lighthouse scores are published by CI after a run — when none has been recorded, this page says so rather than printing dashes.
Current performance
Latest Lighthouse scores per route.
No Lighthouse run has been published yet. CI writes public/perf/lighthouse-latest.json after each audited deploy. Printing a table of dashes here would imply a measurement that was never taken.
Bundle sizes
Initial JS & CSS from the production build manifest.
Target: under 200.0 KB JS transferred for the chunks Next associates with each route in app-build-manifest (includes shared bundles referenced on that route).
| Route | JS | CSS | Total (chunks) |
|---|---|---|---|
| / | 0 B | 0 B | 0 B |
| /work | 0 B | 0 B | 0 B |
| /insights | 0 B | 0 B | 0 B |
| /about | 0 B | 0 B | 0 B |
| /contact | 0 B | 0 B | 0 B |
Raw sizes from .next/app-build-manifest.json. See also /api/perf.
Build info
—
Last build
—
Commit
—
Build duration
—
Next build id
The stack
Tools we ship with — no logo soup.
- Framework. Next.js 14 (App Router)
- Language. TypeScript
- Styling. Tailwind CSS
- Animation. CSS transitions and keyframes
- Content. Markdown with YAML frontmatter, parsed at build time
- Fonts. Inter Variable & Instrument Serif, self-hosted latin subsets (Fontsource builds)
- Hosting. Vercel
- Analytics. Plausible
- Email. Resend
- Forms validation. Zod
- Icons. Lucide
Principles
Self-imposed rules.
- No tracking cookies, and no consent banner because there is nothing to consent to.
- Analytics are cookieless and aggregate — no profile, no cross-site tracking, no resale.
- Accessibility ≥ AA on every interactive element.
- Every performance number on this page comes from CI, not from a marketing deck.