← Back to journal

// Apr 17th 2026

Building my portfolio from scratch

Next.jsPortfolioPlanningDesignJunior Dev
6 min read

Every developer has that moment where they realise their portfolio is either non-existent or embarrassing. Mine was both.

After graduating from Hogeschool Rotterdam I made a decision. I wasn't going to throw together a template site in a weekend and call it done. I was going to build something that actually reflected who I am, how I think, and what I'm capable of.

This is the story of how that went.


Plan first, code later

The first thing I did was nothing. No VS Code, no terminal. Just thinking.

I mapped out the full sitemap, wireframed every page, and wrote a complete style guide covering colors, typography, spacing, components, motion specs, voice and tone, all before touching the codebase. Dark mode with electric lime as the accent. Light mode with purple inspired by Lil Uzi Vert's hair. Personal details in design aren't cringe if they're intentional.

Only after all of that did I open VS Code.

That week of planning saved me weeks of rework. Every time I had a question about where a component should live or what color something should be, the answer was already documented. Planning is not procrastination, it's the work.


What I built and what I learned

The stack is Next.js 14 with the App Router, TypeScript, Tailwind, Framer Motion, and MDX for this journal. Each choice was deliberate. The App Router forces you to think about Server versus Client Components properly. TypeScript slows you down at first then speeds you up permanently. Framer Motion taught me that one well-placed animation is worth ten scattered ones.

The hero section alone took more time than I expected. Getting my name to slide in behind a growing box while the letters reveal themselves inside it meant learning how clipPath animations work, how staggerChildren sequences children in Framer Motion, and how viewport units actually behave with clamp. Small concepts with big payoffs once they click.

The cycling labels in the hero went through a few rounds too. "Gamer" and "HipHop Enthusiast" felt cringe without context on a professional portfolio. The final list ends on "Your Next Hire" and I'm keeping it. Nobody else is doing it and recruiters smile when it shows up.

The GitHub workflow was also something I took seriously. 42 issues across 8 epics, each with its own branch, each commit closing the issue automatically on merge. A recruiter who clicks through to the repo sees a developer who plans and tracks their work, that's part of the portfolio too.


What's next

This portfolio is launched, not finished. There's a difference.

The next project is something a little more personal, a shared web app for me and my fiancée where we can plan dates, track memories, manage a bucket list, having our own little piggybank and she gets her own diary and daily planner. Different domain, different challenges, same approach.

One commit at a time.


Next entry: building something personal — designing for two people instead of recruiters and what that changes about every decision you make.