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:
- Static Site Generation — My portfolio is mostly static content, and Next.js excels at that with its App Router
- MDX Support — I want to write my case studies and blog posts in Markdown, not fight with a CMS
- Component Reusability — Building sections as components means I can reuse them across pages
- 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.