• About
  • Projects
  • Contact
  • LinkedIn
  • GitHub

Designing my portfolio like a product

A new portfolio site, designed and built with the same care I'd give any other product brief.

GitHub Repo
Designing my portfolio like a product
Same person, better storytelling.
Role
Designer & Developer
Client
Self-directed
Date
Mar 2026
Tools
Claude AIClaude AICloudflareCloudflareCloudinaryCloudinaryFigmaFigmaGitHubGitHubLinearLinearMiroMiroNetlifyNetlifyShadcnShadcnNextjsNextjsVisual Studio CodeVisual Studio CodeTailwind CSSTailwind CSSSupabaseSupabaseRenderRenderReactReactRadix UIRadix UI

TL;DR

Where I started. My old portfolio was technically impressive (hand-coded SCSS, perfect Lighthouse score) but weak where it mattered most: storytelling. The content structure was too rigid to fix without starting over.

What I did. Treated the rebuild as a product brief: mapped the audience, set deliberate constraints, and built a flexible content system that could scale.

What changed. A portfolio that works as a product. Fast, considered at every breakpoint, and shaped by a clear sense of who it's for. New case studies can land without touching the codebase.

The audience

Map who's coming before deciding what to build.

Before any visual decisions, I mapped everyone who might land on the site against two axes: browsing vs evaluating, aesthetics vs information. Friends, recruiters, fellow designers, hiring managers, conference organisers. The exercise made the priority obvious. The people who matter most cluster in the evaluating-information corner. They want evidence and substance.

Designing my portfolio like a product
Mapping audiences across two axes to identify who to prioritise.

That mapping shaped the constraints. About page doubling as the homepage, because they want to know who I am fast. Four pages total, no footer, no burger menu on mobile because hiding navigation across four pages is silly. Every decision came from the inverse question: what would make this worse? Cutting those things is what made it better.

The system

Each case study can be a different shape without each one being a custom build.

The real engineering went into the case studies. I wanted to tell different stories in different shapes without each one being a custom build. Strapi's Dynamic Zones let me drop charts, comparison sliders, carousels, or just text blocks into any case study, in any order. The content dictates the layout, not the other way around.

Designing my portfolio like a product
Designing my portfolio like a product
How a Strapi entry becomes a page: the content pipeline under the hood.

The same care went into the responsive behaviour. Six Tailwind breakpoints, all finessed. Component behaviour adapts too: a tooltip on desktop becomes a drawer on touch screens. Same intent, different device. The whole site was tracked in Linear like any product I'd ship, with Claude Code working from a CLAUDE.md, plus Lighthouse and Playwright E2E checks gating every pull request.

Designing my portfolio like a product
Designing my portfolio like a product
Designing my portfolio like a product
Every breakpoint tested and finessed, not just the obvious ones.
Same interaction, different device. Hover on desktop becomes a drawer on touch screens.
Designing my portfolio like a product — before
Designing my portfolio like a product — after
What I took from it

Treating a portfolio like a product made it a much stronger piece of work than just making it look nice.

That meant audience research, deliberate constraints, and a content system that scales. It also closed the design-to-dev gap that most portfolios advertise but few demonstrate. The site is the case study.

Share on LinkedIn

Other projects

Component Lab: a visual workspace for shadcn
Component Lab: a visual workspace for shadcn

Browse, edit, or build from scratch. Four weeks of solo design and build, with AI as engineering partner.

Building a product from scratch at an early-stage startup
Building a product from scratch at an early-stage startup

Eleven months at a remote AI startup, first designer in. From no brand or UI to a shipped product with a successful pilot demo.

Reducing churn for a global subscription service
Reducing churn for a global subscription service

10 weeks on a churn problem. Three concept directions, 15 international interviews on the most testable one, and a printer of our own to walk the customer journey end to end.

A better comparison slider for mobile
A better comparison slider for mobile

The comparison slider is one of the more useful components on this site. On mobile, it has two problems that quietly undermine the whole point of it.

Designing a smarter GenAI workflow for AI developers
Designing a smarter GenAI workflow for AI developers

Three iterations, 32 international users, and a product that stopped being a separately-named add-on along the way.

Building a scalable design system for a global risk platform
Building a scalable design system for a global risk platform

Four weeks to audit, build, and document. Dataviz built in as a first-class subsystem, not an afterthought.

Optimising the digital shopping experience for a home improvement retailer
Optimising the digital shopping experience for a home improvement retailer

A 3-week diagnostic across paint, kitchen, and timber. 153 ranked usability issues, four strategic questions, and Figma design variants for each.

Validating demand for a low-cost learning device in India
Validating demand for a low-cost learning device in India

A fake brand, real ads, and two weeks of live testing. What people want and what they'll pay for aren't the same number.

Cutting through the noise with short-form sales content
Cutting through the noise with short-form sales content

Eleven short videos to dispel myths about a managed services product, built to travel across markets, languages, and attention spans.

Understanding a diverse diaspora audience
Understanding a diverse diaspora audience

Ten interviews and four personas to help a community organisation see its audience more honestly.

Building a brand and site a solo founder can run himself
Building a brand and site a solo founder can run himself

A brand, site, and CMS for a solo legal advisor, built from a personal referral in under a week.

Component Lab: a visual workspace for shadcn
Component Lab: a visual workspace for shadcn

Browse, edit, or build from scratch. Four weeks of solo design and build, with AI as engineering partner.

Building a product from scratch at an early-stage startup
Building a product from scratch at an early-stage startup

Eleven months at a remote AI startup, first designer in. From no brand or UI to a shipped product with a successful pilot demo.

Reducing churn for a global subscription service
Reducing churn for a global subscription service

10 weeks on a churn problem. Three concept directions, 15 international interviews on the most testable one, and a printer of our own to walk the customer journey end to end.

A better comparison slider for mobile
A better comparison slider for mobile

The comparison slider is one of the more useful components on this site. On mobile, it has two problems that quietly undermine the whole point of it.

Designing a smarter GenAI workflow for AI developers
Designing a smarter GenAI workflow for AI developers

Three iterations, 32 international users, and a product that stopped being a separately-named add-on along the way.

Building a scalable design system for a global risk platform
Building a scalable design system for a global risk platform

Four weeks to audit, build, and document. Dataviz built in as a first-class subsystem, not an afterthought.

Optimising the digital shopping experience for a home improvement retailer
Optimising the digital shopping experience for a home improvement retailer

A 3-week diagnostic across paint, kitchen, and timber. 153 ranked usability issues, four strategic questions, and Figma design variants for each.

Validating demand for a low-cost learning device in India
Validating demand for a low-cost learning device in India

A fake brand, real ads, and two weeks of live testing. What people want and what they'll pay for aren't the same number.

Cutting through the noise with short-form sales content
Cutting through the noise with short-form sales content

Eleven short videos to dispel myths about a managed services product, built to travel across markets, languages, and attention spans.

Understanding a diverse diaspora audience
Understanding a diverse diaspora audience

Ten interviews and four personas to help a community organisation see its audience more honestly.

Building a brand and site a solo founder can run himself
Building a brand and site a solo founder can run himself

A brand, site, and CMS for a solo legal advisor, built from a personal referral in under a week.