Creating a Headless CMShh
Oct 2025

Next.jSSs and Sanity. In this post, I’ll walk you through how SSI set it up — from design to deployment. You’ll find the source code linked at the bottom. Intro As a developer, having a portfolio is kind of a must. I had one for years, but at some point, I deleted it — and somehow never got around to making a new one.
That’s partly because most of my work has been on internal projects as a consultant, so there wasn’t much I could actually share publicly. But honestly? Perfectionism also got in the way. I kept telling myself, “This has to be the best site I’ve ever made — with the cleanest design, coolest logo, and smoothest animations.” I started sketching ideas a few times, but never finished because I was never happy enough. This time, I took a different approach: just get it done. It didn’t need to be perfect — just good enough to be useful and live.
That mindset helped a lot. Why I picked Next.js I built the site using Next.js for a few reasons: It does server-side rendering out of the box, which helps with SEO. I already knew React, but hadn’t worked much with Next.js — so it was a good excuse to learn. I wanted to use a headless CMS, and Sanity plays nicely with Next.js. Starting the project Everyone says “content is king,” and in my case, I didn’t have much to show since most of my work isn’t public. But I had done some side projects in my spare time — like a word clock and a workout timer app. I wrote blog posts about them on Medium, which gave me some material to use.
I also had a few open-source repos that I could link. Piece by piece, it started to come together. Design I used Figma to design the site. It runs in the browser and feels familiar if you’ve used Illustrator or Photoshop. I started by defining the content first — knowing what needed to go on the page made designing a lot easier. I knew I wanted four pages: Home, Projects, Blog, and About. It took a few tries to land on something I liked, but once I had the basics, it was easier to build on. I also made mobile versions of the design early on, so I had a good sense of how things would look on different screens.