← Back to projects

nicholasmkasten.com

This very site — portfolio and blog built with Astro.

Role: Solo build When: Feb 2026 – Ongoing
Astro TypeScript Tailwind CSS v4 MDX Vercel

A personal site for showcasing projects, writing, and the occasional /now page. Built to be fast, type-safe, and easy to keep alive over years.

Why a hand-rolled site

Off-the-shelf portfolio templates tend to age fast and resist customization. I wanted somewhere that I’d actually open and edit on a Tuesday night, not a CMS I’d avoid.

The shape of it

  • Astro v5 with static output — fast, no runtime, deploys anywhere.
  • Tailwind v4 configured entirely in CSS via @theme — no tailwind.config.js, no plugin sprawl.
  • Content collections for blog and projects, each with a typed Zod schema. Adding a new writeup is dropping an MDX file.
  • A small motion vocabulary — sine-wave dividers, EQ-bar accents, rhythmically staggered reveals — that nods to my background as a musician without getting in the way.

What’s next

Music sales and a richer projects index sit on the roadmap. The site is meant to grow with me, not be “done.”

Outcomes

  • Static-output Astro site deploys to Vercel in under a minute.
  • MDX content collections for blog and projects so adding a writeup is one file.
  • Music-inspired motion language (waveforms, EQ accents, rhythmic stagger) without sacrificing reduced-motion support.