Skip to content

Colophon

How this site is built, hosted, and composed.

01

Framework

Astro 5 with MDX, content collections, and the ClientRouter view transitions API. No client-side framework — every island is vanilla TypeScript.

02

Content

Services, case studies, and blog posts live in typed content collections with Zod schemas. Each entry is an MDX file keyed by locale. The same helpers power en/, /es/, and /ca/.

03

Styling

Hand-written Sass with CSS custom properties. Light and dark themes share a single token layer. No utility framework — the tokens are semantic, W3C DTCG style.

04

Typography

Playfair Display for headings, Inter for body, JetBrains Mono for labels. Loaded from Google Fonts with font-display: swap.

05

i18n

Three locales: en (default at /), es (/es/), ca (/ca/). A typed ui dictionary in src/i18n/ui.ts holds every UI string. useTranslations(locale) falls back to English for missing keys.

06

Deployment

Static build deployed to CDN. Umami Cloud for privacy-first analytics. No cookies, no trackers, no ads.

07

Source

The site is open on GitHub. Feel free to steal any pattern — I certainly borrowed a few.