A portfolio site built like a product
Resumes are flat. LinkedIn is noisy. I needed a way to show how I think — not just what I've done.
Problem
Traditional portfolios either look like a resume dump or a design showcase with no substance. Neither works for product roles where hiring managers care about judgment, tradeoffs, and shipping ability.
What I built
- Full-stack portfolio using Next.js, Tailwind, and Framer Motion — vibecoded end-to-end with Claude Code
- Content-driven architecture where each experience has its own detail page with markdown rendering
- Scroll-driven interactions and smooth transitions that feel polished without sacrificing performance
- Mobile-first responsive design with a custom animated navbar and section navigation
- Version-controlled and deployed professionally — maintained through Git and GitHub, hosted on Vercel with CI/CD
Decisions & tradeoffs
- Why code over no-code? Squarespace can't express craft. Building it myself signals I can work alongside engineers and ship real software — not just wireframes.
- Why Claude Code + Git + Vercel over Replit? Real dev workflow matters. Using Claude Code in the terminal, committing through Git, deploying through Vercel — that's the actual stack engineers use. It shows I can operate in their world, not just drag-and-drop in a sandbox.
- Why markdown for content? Keeps content portable and easy to iterate on without touching React components. Add a
.md file, get a new page.
- Why one page with sections? The audience (hiring managers, product leaders) has 30 seconds. A single scroll tells the full story. Detail pages exist for the curious.
UX philosophy
I wanted this to be fun to visit and scroll through — not just a bland page. Lots of color, smooth animations, interactive elements. But I was careful not to make it cluttered or noisy. Visually appealing without sacrificing readability. Every animation serves the experience, nothing is there just to show off.
Outcome
A high-performance portfolio that treats the job search like a product problem — clear audience, clear JTBD, fast iteration. Built and shipped in days, not weeks.