niro.codes

niro.codes

This portfolio site — CRT terminal UI, Astro, Tailwind v4, React islands, Vercel.

  • Astro
  • Tailwind CSS
  • TypeScript
  • React
  • Vercel

You’re looking at it. Built as a deliberate exercise in doing things the right way instead of the fast way — proper CI, pre-commit hooks, typed content collections, E2E tests from day one.

The CRT aesthetic isn’t nostalgia for its own sake. It’s a constraint that forces every design decision to earn its place. There’s no room for generic shadcn components or copy-pasted Tailwind patterns when the entire palette is a single phosphor color.

Stack decisions

Astro over Next.js because this site has no reason to be a React app. Islands where interactivity is actually needed, static HTML everywhere else.

Tailwind v4 because the new Vite plugin and CSS-first config are genuinely better. @theme inline to alias CSS custom properties into Tailwind utilities.

Vercel because it’s the fastest path from git push to deployed, and the DX is still unmatched for static + serverless hybrid.

What makes it interesting

The phosphor color system: one user-selectable accent color (--phosphor) that drives everything — text, glow shadows, image tinting, interactive states. Pick green and you get a classic terminal. Pick pink and it becomes something else entirely.