Build and ship a full-stack AI product prototype (done)
Design an AI-native product from 0 → 1 (done)
Turn a design system into a living, coded system (done)
Design a product that changes how people work (not yet)
Build a product used by 100M+ people (not yet)
Work with a world-class design team (not yet)
Work on a product at global scale (not yet)
Create an open-source tool used by 10,000+ designers (not yet)
Design an interaction that becomes an industry reference (not yet)
Build something that makes me say: “I wish this existed when I started.” (not yet)
Tokens
Typography
Hanken Grotesk carries everything the page says. JetBrains Mono carries everything it measures — labels, specs, code — and is never used for reading.
Scale
Every step interpolates between a phone value and a desktop value, so type never jumps at a breakpoint. The range is deliberately wide: small interface text against large display text is what lets a layout be composed rather than uniform.
Design is how it works
--text-3xl38 → 58px
Design is how it works
--text-2xl30 → 40px
Design is how it works
--text-xl24 → 28px
Design is how it works
--text-lg20 → 22px
Design is how it works
--text-md17 → 18px
Design is how it works
--text-base15 → 15.5px
Design is how it works
--text-sm13 → 14px
Design is how it works
--text-xs12px fixed
Design is how it works
--text-2xs11px fixed
Weight
Hanken Grotesk is a variable font, so any weight is available — but only four are sanctioned. An unrestricted axis produces pages where nothing is consistently emphasised.
Senior Product Designer
--weight-regular400body, everything by default
Senior Product Designer
--weight-medium500controls, active nav
Senior Product Designer
--weight-semibold600headings
Senior Product Designer
--weight-bold700display only
Tracking
Negative tracking scales with size. A grotesque set at 58px with default spacing looks loose and amateurish; the same tracking applied to 15px body text makes it unreadable. The value is a function of size, never a preference.
Portfolio of a product designer
--tracking-display-0.045em38px and above
Portfolio of a product designer
--tracking-tight-0.03em24–34px
Portfolio of a product designer
--tracking-snug-0.012em17–22px
Portfolio of a product designer
--tracking-normal-0.005embody — the global default
Portfolio of a product designer
--tracking-wide0.03emsmall mono
Portfolio of a product designer
--tracking-caps0.08emuppercase labels
Mono
0123456789 — ILil1 O0o — { } [] <> /\ =>Disambiguated zero and lowercase L. Used by Kicker, Chip, Note bodies, and code.
Leading
--leading-tight 1.04 — display. Large type needs almost no extra room.
--leading-snug 1.2 — headings and ledes.
--leading-normal 1.55 — body. The default on <body>.
--leading-relaxed 1.7 — small mono, which needs more air than it looks like it does.