
A fantasy podcast and fan film site I built twice: first in React 18 / Vite as an SPA, then migrated to Next.js 15 App Router when the content-driven architecture started creating real friction for SEO and maintenance.

A portfolio site built with Next.js, Sanity v3, Tailwind CSS, Framer Motion, and Vercel, for an animation and motion graphics artist targeting studio and agency job applications.

A GDPR and CCPA cookie consent system I built as a shared package and installed across several Next.js sites, with a serverless consent-logging API and a per-site cookie profile that decides whether a banner renders at all.

A four-week redesign of a youth-development nonprofit's site on Next.js 15 (App Router), React 19, and TypeScript, with Sanity driving age-based pathway content and an interactive age-finder routing visitors to the right stage.

A Next.js and Sanity rebuild of a boutique valuation firm's GoDaddy site, restructuring four pages into a seven-section architecture with a custom content model, JSON-LD across six schema types, and a scroll-driven editorial design system.

A Next.js 15 monorepo for a political and business consulting firm: a customer-facing frontend, branded Sanity Studio CMS, shared React component library, and living style guide, all built with TypeScript and deployed to Vercel.