Skip to content

Colophon

A site about building things should say how it's built. No secrets here, just the choices and the why.

Copy as
Framework
Next.js 16 (App Router) + React 19
Language
TypeScript
Styling
Tailwind CSS v4, OKLCH tokens
Type
Bricolage Grotesque (display) + Geist (text & mono)
Color
“Studio Warm”, committed clay on warm neutrals
Motion
IntersectionObserver reveals, reduced-motion aware
Email
Resend, via a Next.js Server Action
Hosting
Vercel, push-to-deploy from GitHub
Analytics
None. No tracking, no cookies.

The whole thing is static where it can be and dynamic only where it must be (the contact form). It loads no third-party scripts, sets no tracking cookies, and ships a strict content-security policy. Practising what I preach: fast, accessible, and honest.

The source is on GitHub .

Want a portfolio like this? Hit me up.

I'll build you one: fast, accessible, on brand, and entirely yours. The craft you're looking at is the default, not the upsell.