Living design system

Design System

The Subframe-driven component library that powers this portfolio. Custom fonts (Erode + Satoshi), a brand cyan derived into a full 50 → 950 ramp, and 40+ synced components — all rendered here from the same source as the shipped site.

Foundations

Color & Type

Brand cyan derived through Subframe's Theme UI into a full ramp that survives every re-sync. Type overrides at the Tailwind layer so the codebase — not the design tool — owns the fonts.

Brand ramp — derived from hsl(153 100% 50%)

brand50
brand100
brand200
brand300
brand400
brand500
brand600
brand700
brand800
brand900
brand950

Display · Satoshi

Vision, shipped.

text-6xl · font-black · Satoshi Variable

Body · Erode (prose only)

Erode survives inside .prose paragraphs across feed, showcase, and case study pages, so reading still feels like a paperback. Everything else — buttons, badges, labels — snaps to Satoshi.

text-base · font-serif · Erode Variable

Section

Buttons & Actions

Ten Button variants (brand / neutral / destructive × primary / secondary / tertiary, plus inverse) at three sizes. IconButton and LinkButton round out the action surface.

Button — Brand Primary
Button — Neutral Secondary
Button — Brand Tertiary
Button — Destructive Primary
Button — Loading
IconButton — Neutral Tertiary
LinkButton — Brand
ToggleGroup
Button — Size scalesmall · medium · large

Section

Forms & Input

Full input suite — TextField, TextArea, Select, checkbox, radio, switch, slider. Each accepts label, helper text, and error state props.

TextField
TextArea
Select
Notification frequency
Checkbox
RadioGroup
Switch
Automatic sync
Slider
0100

Section

Feedback & Status

Alerts, badges, progress, loaders, skeletons — the vocabulary the interface uses to admit what it knows and what it's still working on.

Alert — Info
Prototype approved, engineering in flightLearner Notifications v2 shipped for internal review. Preventative validation enabled.
Badge — Variants
Default
Neutral
Success
Warning
Error
Progress
Onboarding64%
Loader
SkeletonText
SkeletonCircle

Section

Data & Structure

Tabs, accordion, stepper — patterns for organising dense product surfaces without losing the shape of the flow.

Tabs
Overview
Activity
Settings
Accordion
Trigger conditions

Notifications can be triggered by enrollment, completion, inactivity, or scheduled cadence. Add one trigger per notification for predictable delivery.

Stepper
1
Type
2
Audience
3
Trigger
4
Content

Section

Layout & Navigation

Wayfinding primitives — breadcrumbs, avatars, tooltips, and iconography — used consistently across every product surface.

Breadcrumbs
Case StudiesDesign SystemsSubframe integration
Avatar
AH

Alejandro Haydar

Design Engineer

IconWithBackground
Tooltip
Search everything

Read the story

How this system came together in one weekend

The custom-font override, the brand-token derivation, the pilot page, and the first component swap in production — all in a single weekend with Claude Code as pair-programmer.

Read the case study

Open to freelance + full-time. Fastest way to reach me is a LinkedIn message — I reply within a day.

© 2026 Alejandro Haydar. Built and designed in-house.