• About
  • Projects
  • CV
  • Email
  • LinkedIn
  • GitHub

Designing my portfolio like a product

Designing my portfolio like a product

A new portfolio site, with the case studies driving the layout, not the other way around

Who
Personal projectMar 2026
Scope
Audience researchContent architectureDesignFrontend engineering
Tools
Claude AIClaude AICloudflareCloudflareCloudinaryCloudinaryFigmaFigmaGitHubGitHubLinearLinearMiroMiroNetlifyNetlifyShadcnShadcnNextjsNextjsVisual Studio CodeVisual Studio CodeTailwind CSSTailwind CSSSupabaseSupabaseRenderRenderReactReactRadix UIRadix UI
Links
GitHub Repo
Context

Technically impressive, but the storytelling was the gap

My old portfolio had hand-coded SCSS and a perfect Lighthouse score, with a content structure too rigid to fix without starting over.

The audience

Mapping every reader against two axes, before any visual decisions

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

Mapping audiences across two axes to identify who to prioritise

That mapping shaped the constraints. The About page doubles as the homepage, because evaluators 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

A content system where the story shapes the layout

The real engineering went into the case studies, where 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, with the content dictating the layout rather than the other way around.

Designing my portfolio like a product
Designing my portfolio like a product
Designing my portfolio like a product
Designing my portfolio like a product
How a Strapi entry becomes a page, with the content pipeline laid out

The same care went into the responsive behaviour, with six Tailwind breakpoints all finessed. Component behaviour adapts too: a tooltip on desktop becomes a drawer on touch screens. Same intent, different device. I tracked the whole site in Linear like any product I'd ship, with Claude Code working from a CLAUDE.md, and 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
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, with hover on desktop becoming a drawer on touch screens
Designing my portfolio like a product — before
Designing my portfolio like a product — after
Outcome

A portfolio that works as a product, with new case studies landing without code changes

Fast, considered at every breakpoint, and shaped by who it's actually for. The design-to-dev gap that most portfolios advertise but few demonstrate closes here, with the site itself as the case study.

Share on LinkedIn

Other projects

Building a design system where the code leads and Figma follows

Design Engineering · Design Systems

Building a design system where the code leads and Figma follows

Building a practice tool that targets your weakness, not your strength

Product Design · AI Integration · Frontend Engineering

Building a practice tool that targets your weakness, not your strength

Building a product from scratch at an early-stage startup

Product Design · Design Systems · Design Engineering

Building a product from scratch at an early-stage startup

Component Lab: a visual workspace for shadcn

Design Engineering · Frontend Engineering · AI Integration

Component Lab: a visual workspace for shadcn

Reducing churn for a global subscription service

UX Research · Product Design · Strategy

Reducing churn for a global subscription service

Designing and animating my personal brand mark

Brand Design · Motion Design

Designing and animating my personal brand mark

A better comparison slider for mobile

Design Engineering · Frontend Engineering

A better comparison slider for mobile

Designing a smarter GenAI workflow for AI developers

Product Design · UX Research · AI Integration

Designing a smarter GenAI workflow for AI developers

Building a scalable design system for a global risk platform

Design Systems · Product Design

Building a scalable design system for a global risk platform

Optimising the digital shopping experience for a home improvement retailer

UX Research · Product Design

Optimising the digital shopping experience for a home improvement retailer

Validating demand for a low-cost learning device in India

UX Research · Strategy

Validating demand for a low-cost learning device in India

Cutting through the noise with short-form sales content

Content Strategy

Cutting through the noise with short-form sales content

Understanding a diverse diaspora audience

UX Research · Strategy

Understanding a diverse diaspora audience

Building a brand and site a solo founder can run himself

Brand Design · Design Engineering

Building a brand and site a solo founder can run himself

Building a design system where the code leads and Figma follows

Design Engineering · Design Systems

Building a design system where the code leads and Figma follows

Building a practice tool that targets your weakness, not your strength

Product Design · AI Integration · Frontend Engineering

Building a practice tool that targets your weakness, not your strength

Building a product from scratch at an early-stage startup

Product Design · Design Systems · Design Engineering

Building a product from scratch at an early-stage startup

Component Lab: a visual workspace for shadcn

Design Engineering · Frontend Engineering · AI Integration

Component Lab: a visual workspace for shadcn

Reducing churn for a global subscription service

UX Research · Product Design · Strategy

Reducing churn for a global subscription service

Designing and animating my personal brand mark

Brand Design · Motion Design

Designing and animating my personal brand mark

A better comparison slider for mobile

Design Engineering · Frontend Engineering

A better comparison slider for mobile

Designing a smarter GenAI workflow for AI developers

Product Design · UX Research · AI Integration

Designing a smarter GenAI workflow for AI developers

Building a scalable design system for a global risk platform

Design Systems · Product Design

Building a scalable design system for a global risk platform

Optimising the digital shopping experience for a home improvement retailer

UX Research · Product Design

Optimising the digital shopping experience for a home improvement retailer

Validating demand for a low-cost learning device in India

UX Research · Strategy

Validating demand for a low-cost learning device in India

Cutting through the noise with short-form sales content

Content Strategy

Cutting through the noise with short-form sales content

Understanding a diverse diaspora audience

UX Research · Strategy

Understanding a diverse diaspora audience

Building a brand and site a solo founder can run himself

Brand Design · Design Engineering

Building a brand and site a solo founder can run himself