Stack
- Next.js 16 with the App Router and Turbopack.
- React 19 — server components by default, client only where interactivity needs it.
- Tailwind CSS v4 with design tokens declared in
styles/tokens.css. - TypeScript for everything that is not pure CSS.
Type
Display: Playfair Display at weight 600. Body: DM Sans at weights 400 and 500.
Both loaded via next/font/google and self-hosted at build time — no runtime requests to Google.
Hosting
Deployed on Railway. No Vercel-specific APIs in use, so the codebase stays portable across Node hosts.
Tools
Design system
The complete tokens, palette, type scale, and component conventions live in docs/design-system.txt in the repository. That file is the source of truth — if anything on the site disagrees with it, the design system wins.