Back to projects

govindgupta.me

My personal portfolio — minimal, monochrome, built in public.

govindgupta.me

Overview

I built this portfolio because I wanted a place on the internet that felt fully mine. Most personal sites say the right things, but very few feel like a real reflection of how the person behind them thinks. I wanted mine to feel quiet, deliberate, and honest. It is not just a grid of projects or a list of links. It is a running document of what I am building, what I care about, and how I want to present my work in public.

What I wanted to get right

The design direction was clear from the start. I wanted a monochrome interface with enough contrast to feel sharp, but not so much decoration that the content disappeared behind it. That pushed me toward restrained typography, subtle borders, muted supporting text, and layouts that breathe without wasting space. I kept asking myself whether each element was helping the story or just filling the canvas. If it felt like noise, I removed it.

Technical decisions

Under the hood, I chose the Next.js App Router because it gives me a clean way to structure pages, server rendering, and content-heavy sections without overcomplicating the app. I also wanted the blog to feel native to the site, so MDX was the obvious fit. That lets me write long-form posts in a simple format while still keeping full control over presentation. I also integrated GitHub contribution data because I wanted the site to show not only finished work, but the consistency behind it.

What I learned

The biggest lesson from this project has been how different a site feels when you build it in public. Shipping in the open makes every rough edge visible, but it also creates momentum. I stopped waiting for a perfect version and started treating the portfolio like a living product. That shift made me more comfortable with iteration, more honest about tradeoffs, and more aware that a personal site is never really finished. It grows as I do.