Skip to main content
Design System

The system behind the work

The tokens, components, and motion that hold reedtereski.com together — the same primitives I bring to client design systems. Built for consistency, accessibility, and speed.

Principles

Tokens, not hardcodes

Every color, radius, and font weight resolves from one set of CSS variables — themed light and dark from a single source.

Motion has meaning

Animation signals state and hierarchy, never decoration. Every transition honors prefers-reduced-motion.

Accessible by default

AA contrast, visible focus rings, semantic HTML, and keyboard paths are requirements, not passes.

60fps or it doesn't ship

Reveals run on opacity and transform only — compositor-driven, zero layout shift.

Color tokens

Swatches render the live theme value. Hex pairs show how each token resolves in light / dark.

Background

--background
#FFFFFF#020617

Foreground

--foreground
#0F172A#F8FAFC

Primary

--primary
#007F32#00C853

AA on white — 4.87:1

Card

--card
#FFFFFF#0F172A

Muted

--muted
#F1F5F9#1E293B

Muted FG

--muted-foreground
#64748B#94A3B8

Border

--border
#E2E8F0#1E293B

Destructive

--destructive
#EF4444#7F1D1D

Status

Success

#007F32#00C853

Warning

#F59E0B#B45309

Error

#EF4444#991B1B

Info

#3B82F6#1D4ED8

Typography

Inter, self-hosted via next/font. One scale across web and case studies.

Display / H1
text-4xl md:text-5xl font-bold tracking-tight
I design it, build it, ship it
Heading / H2
text-3xl font-bold tracking-tight
Selected work
Subhead / H3
text-2xl font-bold tracking-tight
Mobile Retail Experience
Title / H4
text-xl font-bold tracking-tight
Project overview
Lead
text-lg text-muted-foreground
A decade shipping production products.
Body
text-base leading-7
Efficient, scalable, and user-centric interfaces.
Eyebrow
text-xs font-semibold uppercase tracking-wider text-muted-foreground
Design · Frontend · AI

Spacing

4px base unit. Tailwind step = px ÷ 4.

4px
p-1
8px
p-2
12px
p-3
16px
p-4
24px
p-6
32px
p-8
48px
p-12

Radius

Base --radius: 0.5rem; steps derive ±.

4px
sm
6px
md
8px
lg · base
12px
xl

Motion specimens

The actual easing, durations, and reveals used across the site — live, replayable, and reduced-motion aware.

Standard
400ms
Deliberate
600ms
Stagger
80ms
Easing
cubic-bezier(.25,.1,.25,1)

Specimens

Content

Fade up

Section & hero reveal

Stagger

Lists & grids

Hover me

Hover lift

Cards & tiles

Standard easing

cubic-bezier(0.25, 0.1, 0.25, 1)

Quick out, soft landing — the curve behind every reveal, hover, and transition here.

Components

Buttons & Actions
Form & Badges
Default
Secondary
Outline
Error