Skip to content
← All projects

Case study · 2026

This Portfolio — Design System & Build

Role
Everything
Stack
Next.jsTailwind CSS v4Framer Motion
Design token reference sheet for this portfolio showing the colour, type, and spacing scales

A portfolio is the one project where the code is the pitch. So I treated this site as a production product: a design system defined in tokens, a motion language with exactly three durations and two springs, and budgets that fail the build when broken.

The problem

I do four kinds of work — frontend, herbal formulation, Quran teaching, and design. Most multi-craft portfolios read as four disconnected mini-sites. The design problem was coherence: one person, one voice, four rooms.

The approach

One narrative thread — learner, maker, teacher — and one design language across every page. The warm paper palette, the serif display face, and the olive-and-clay accents carry through the developer case studies and the herbal catalogue alike.

Dark mode is designed rather than inverted: shadows are replaced by borders and surface tints, because box-shadows die on dark backgrounds.

Engineering decisions

Every colour, duration, and shadow exists once, as a token. Components consume tokens; nothing is hard-coded. Changing the brand accent is a one-line change.

Motion is compositor-only — transform and opacity, never layout properties — and every animated component ships with a reduced-motion path, not as an afterthought but in the same file.

The page transition you may have just seen (the project card image becoming this page's hero) uses the View Transitions API with a graceful fallback for browsers that lack it.

Outcome

All routes statically generated; first-load JavaScript within budget; zero cumulative layout shift by construction — every image has explicit dimensions and fonts load with matched fallbacks.

The repository is public so the code can speak for itself.