This site is built the way I like to build things: deliberately, from a small set of parts I understand completely.
Stack
- Astro for the structure — content collections for projects and posts, MDX for writing, and near-zero JavaScript shipped by default.
- React islands only where interactivity earns its weight: the theme toggle, the hero, and a ⌘K command palette.
- Tailwind v4 with a tiny set of semantic tokens that flip between dark and light.
- Motion for animation, always gated behind
prefers-reduced-motion.
Principles
I borrowed the discipline I apply to product work:
- Spacing over borders. Most premium interfaces lean on rhythm and contrast, not boxes around everything.
- Tight typography. Large titles, negative tracking, lower-contrast secondary text.
- Motion you barely notice. Entrances, a cursor-aware glow, smooth page transitions — nothing that gets in the way.
- Dark first. Black is the color I’d pick to represent me, so the site commits to it.
Try ⌘K — it’s the fastest way around.