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— notailwind.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.