Command palette

Search projects, articles, pages…

Kalvner

Colophon

How this site is built.

Notes on how this site is put together.

Stack

  • Next.js 16 with the App Router and Turbopack
  • Fumadocs UI for documentation chrome (sidebar, search, nav)
  • Fumadocs MDX for content with i18n via parser: "dir"
  • Tailwind v4 with @theme inline blocks
  • shadcn/ui primitives via the @kalvner/kds package
  • Vercel for deploys

Theming

The site uses a single-seed CSS color-mix theming pattern: one --seed variable drives 16 semantic tokens via color-mix(). Light mode mixes with white, dark mode mixes with black — same seed, opposite anchor. Pick any color in the top nav; the entire palette re-derives in real time, no JavaScript loop required.

i18n

Two locales — English (default, hidden in URL) and Portuguese (/pt). Content lives in content/<lang>/, the same tree mirrored.

Source

Source lives in the bridge monorepo under apps/portfolio/.

On this page