Astro over Next.js
For a mostly static portfolio, Next.js ships a React runtime I don't need. Astro generates pure HTML and only hydrates what I ask (theme toggle, mobile menu). The page lands in kilobytes.
This site. Astro + Tailwind + i18n with a monochrome editorial design system.
I wanted a portfolio that didn't look like a template, that loaded instantly and forced me into deliberate design choices. The goal wasn't "look pretty" — it was "look like I decided it".
For a mostly static portfolio, Next.js ships a React runtime I don't need. Astro generates pure HTML and only hydrates what I ask (theme toggle, mobile menu). The page lands in kilobytes.
I tried serif + sans, then serif-only. Landed on mono for everything: titles, body, meta. It reflects my actual work (code) without dressing it up as something more "editorial". Consistency is the design.
Switching from dark to light flips `data-theme` on `<html>` and every variable (`--bg`, `--text`, `--line`) re-resolves. Tailwind classes stay the same — they point to the variable, not the color. Theme change with zero markup edits.
AI-native legal SaaS built for Mexican law firms.