I've wanted to build a personal site for a while now. Every few months I'd Google "best portfolio stack", open twelve tabs, compare everything, and then close my laptop without doing anything.
This time I just opened my editor and started.
Why I didn't use a template
Honestly? I almost did. There are beautiful free templates out there. But I kept coming back to one thought — if this site is supposed to represent how I think and work, it should actually be built by me.
It's not about reinventing the wheel. It's that a personal site built from scratch says something a template can't.
What I went with
I didn't overthink this part. I picked tools I already knew and liked:
Next.js — I'm comfortable with React, and Next.js makes it easy to generate a fast static site without any server to manage.
TypeScript — Catches dumb mistakes before they go live. I use it at work too, so it just feels natural.
Tailwind CSS — Makes styling fast. Dark mode was surprisingly easy — just swap a few colour values.
Framer Motion — Small animations on hover and page load. Nothing flashy, just enough to make it feel alive.
Vercel + Cloudflare — Vercel hosts the site, Cloudflare handles the domain. Total monthly cost: zero.
For blog posts, I just write in markdown files and push to git. No CMS, no database, no admin dashboard to maintain.
What I left out
This was the harder part — deciding what not to build.
No analytics dashboards. No comments section. No newsletter integration. No extra pages I'd never update.
I wanted something I could ship in a weekend and actually keep maintaining. If it's too complex, I know I'll abandon it. Keeping it simple is the whole strategy.
What's next
I want to add detailed pages for each project — with context on what I built, why, and what I learned. The structure is already in place, I just need to write the content.
I'll keep posting here about what I'm building. If you want to follow along, I also write on Substack.