#F5F4F0Primary text
Portfolio design system · v1.0
A compact system for hierarchy, interaction, accessibility, and motion—designed to keep the portfolio coherent without making every project look identical.
01 · Foundations
Neutral surfaces carry the portfolio. Accent colors identify project context, highlight actions, and support navigation—never long-form body text.
#F5F4F0Primary text
#0A0B0BPrimary canvas
#C6F45FPrimary action
#7FDCC1Systems work
#FF8A00Travel project cover
#214B88Yool project cover
#B9A6FFSecondary learning accent
02 · Typography
Geist carries the narrative; Geist Mono labels evidence, metadata, and system information. A limited scale creates clear reading levels without decorative type.
A comfortable measure, generous line height, and strong contrast make long case studies easier to scan and easier to read.
03 · Components
Buttons, links, cards, fields, status treatments, and focus states share the same interaction rules across the portfolio.
Actions
Status and tags
Input anatomy
04 · Motion
Motion reveals reading order, confirms interaction, and maintains orientation. Durations remain short, transforms stay subtle, and reduced-motion preferences are respected.
Sections enter in reading order as they approach the viewport.
560ms · ease-outCards and controls move only enough to confirm interactivity.
180ms · ease-outA slim page indicator helps maintain orientation in long case studies.
Scroll-linked05 · Accessibility
Visible focus, logical order, skip navigation, and native interactive elements.
High-contrast text and accents reserved for contexts where they remain readable.
Reduced-motion preferences disable reveals, loops, and large transformations.
Semantic headings, landmarks, lists, definitions, captions, and useful alternative text.
See it applied
Its job is to make the projects easier to understand—not to become the main attraction.
Explore case studies