← changelog

portfolio

shipped

personal site. next.js, tailwind, vercel. the thing you're looking at right now.

nov 2023 – nowsolo: design, frontend, content
next.jstailwindvercelframer motionprisma

a portfolio site that's been evolving for over two years. started as a basic page, grew into a full content platform with projects, thoughts, reading lists, and now a changelog that tracks everything i build.

key decisions

next.js app router over pages router

file-based routing under app/ is cleaner. each section is a folder with page.js. no custom routing config needed.

css modules + tailwind hybrid

tailwind for layout and spacing, css modules for scoped component styles. avoids tailwind's class soup for complex components while keeping utility classes for simple stuff.

js data files over a CMS

content changes rarely. editing a js array is faster than setting up a CMS, and there's no build step or API call. the data is right next to the component that renders it.

what i built

  • changelog page with git-style branch timelines, entry overflow, and filter pills
  • project detail pages with engineering-focused case studies
  • thoughts and reading list sections
  • seo component with og/twitter meta tags on every page
  • dark mode via prefers-color-scheme
  • blog with prisma + planetscale for view counts

timeline

nov 2, 2023

pilot. first deploy to vercel.

nov 3, 2023

project page and home page highlights

nov 19, 2023

quotes page and blog api

nov 26, 2023

contact page, photography section

dec 10, 2023

seo across all pages

dec 18, 2023

work experience page

feb 2, 2025

redesigned project detail and listing pages

jun 8, 2025

thoughts section, grid layout

aug 29, 2025

case study components for projects

wanted to showcase technical decisions, not just screenshots

mar 19, 2026

rewrote intro, killed case studies, built changelog with branch timelines

case study format made things more ambiguous, not less. the changelog tells a better story.