I had a perfectly fine website. It was built with Next.js, had a nice template, deployed on Vercel. It worked. But something about it felt wrong -- it didn't feel like mine.
The Problem with Templates
Don't get me wrong, templates are great for getting started. But when you're a CS student trying to stand out, having a site that looks like every other developer portfolio on the internet isn't exactly ideal. I wanted something that reflected how I actually think about design -- minimal, intentional, no noise.
Going Back to Basics
So I did something that felt almost rebellious in 2026: I opened a blank index.html file and started writing plain HTML and CSS. No React. No build tools. No node_modules folder with 500MB of dependencies.
The best code is the code you don't have to write.
It was liberating. Every line of CSS was intentional. Every element had a purpose. I could see exactly what was happening without digging through component trees or state management libraries.
What I Learned
Building with vanilla HTML and CSS forced me to actually understand what I was doing. No abstractions to hide behind. When something didn't look right, I couldn't just install another package -- I had to figure out the CSS myself.
I spent time on the details that matter: typography, spacing, subtle animations. The kind of stuff that makes a site feel polished without screaming for attention. I drew inspiration from Apple's design language -- clean lines, lots of whitespace, and a focus on content.
The Result
What you're looking at right now is the result. It's fast (no JavaScript needed for the core experience), it's simple (just a few HTML files), and it's mine. Every pixel is a deliberate choice.
Sometimes the best way to learn is to strip everything back to fundamentals. Frameworks are powerful tools, but they can also be crutches. If you're a student building your first portfolio, I'd encourage you to try the vanilla approach at least once. You might be surprised by how much you learn.