Back to Journal

Why I'm Rebuilding My Portfolio with Next.js

2 min read
Web DevelopmentLearning

I've had a personal website for years, but it was always an afterthought. A few HTML pages cobbled together, rarely updated, honestly a bit embarrassing.

So I decided to rebuild it properly.

Why Next.js?

After evaluating several options — plain HTML, React, Vue, Astro — I kept coming back to Next.js for a few key reasons:

  1. Static Site Generation — My portfolio is mostly static content, and Next.js excels at that with its App Router
  2. MDX Support — I want to write my case studies and blog posts in Markdown, not fight with a CMS
  3. Component Reusability — Building sections as components means I can reuse them across pages
  4. Ecosystem — When I need to add features, the ecosystem has solutions ready

The Stack

Here's what I'm using:

  • Next.js 14 with App Router
  • TypeScript for type safety
  • Tailwind CSS for styling (with custom design tokens)
  • shadcn/ui for accessible components
  • Framer Motion for subtle animations
  • MDX for content

What's Next

The goal is a fast, accessible, and beautiful portfolio that showcases my work in renewable energy project finance. I'm building it in public, and I'll share more learnings as I go.

Stay tuned.