All work
Case study 05
This portfolio
The site you're on: a personal portfolio I designed and built with Next.js 16 and Sanity, with every case study edited in a CMS and motion throughout.
- Role
- Designer and developer
- Year
- 2026
- Discipline
- Personal project · Design and build
Overview
This portfolio is a personal project. I built it in October 2026 to bring my work together in one place. It started in a dark editorial style and moved to the light, warm design you see now, with serif headlines, rounded media and one deep espresso surface for the menu.
Content in a CMS
- Site settings, projects, experience and skills are all edited in Sanity, through a Studio embedded in the site.
- Pages are cached, and publishing in Sanity refreshes them within seconds, so a copy change never needs a redeploy.
- Until the CMS is connected, the site renders bundled content, and a seed script imports that same content into Sanity as a starting point.
Motion
- Page transitions where the next page rises over the last, while the project cover morphs from its card into the case study hero.
- A showreel that widens to full bleed as you scroll and cycles through the latest work.
- Smooth scrolling with Lenis, and every animation respects reduced-motion settings.
The details
- Projects without an uploaded image get a generated cover in their accent colour.
- Commits follow Conventional Commits, checked on every commit.
Stack
Next.js 16, React 19 and TypeScript, styled with Tailwind CSS 4 and animated with Motion and Lenis. Content lives in Sanity, and the site is hosted on Vercel.

