this moment

Experiment #8 · Design system

The system, explored.

Everything on this site grows from one small set of decisions — four colors, two typefaces, an 8-point rhythm, and a few carefully chosen curves. This page is a living tour of those decisions, built entirely from the tokens it documents. Hover things. Click the swatches. Move your cursor and stop.

Section color

The whole page re-keys to the chosen section color — exactly how the live site shifts as you scroll. The cursor ripple follows along.

01 · Foundations

Color

One color per section — coral is the spine that ties it all together. Never more than two section colors in a single view. Click any swatch to copy it.

Coral
BRAND · HOME
#ff5b3e
Amber
THOUGHTS
#e8b04c
Teal
SOUNDS
#4cc9a0
Blue
EXPERIMENTS
#2d6dff

Surfaces & ink

Ripple pairings: coral→teal · amber→coral · teal→amber · blue→teal.

02 · Foundations

Typography

Two families only. Fraunces (variable serif, optical-size axis) carries display and emphasis; Syne carries everything you read. Italic Fraunces is reserved for emphasis — a few words, almost always in the accent color.

Hero · h1
Fraunces 300
opsz 144
People are the
hard part.
Section · h2
Fraunces 300
opsz 72
In the moment
Card · h3
Fraunces 300
opsz 36
Things that outlast the demo
Lead
Syne 400
Thinking out loud about technology, experience, and the moments where they meet.
Body
Syne 400
Just getting it to work has never been enough. This is where I think, make, and share — the long-form reading voice of the site.
Label · "3rd voice"
Syne 500
tracked caps
Field recording · 4:12
Meta
Syne 500
June 10, 2026 · 6 min
Code
JetBrains Mono
font-variation-settings: 'opsz' 72;

Long-form prose — the .prose body

This is how rendered Markdown reads in an article. Body copy sits at 17px with generous line-height, and the accent color shifts with the section — switch it above and watch the emphasis and links follow.

Links carry a soft underline that fills in on hover. Inline code always reads blue, no matter the section — code is technical, so it stays consistent.

The blockquote is upright Fraunces with a section-colored rule — quiet, set apart, distinct from emphasis.

A sub-heading

Headings step down in optical size; the smallest become tracked uppercase labels — the same "third voice" used for tags and meta.

const tone = 'warm, curious, direct';
// never corporate, never over-explained

Pull quote

Technology doesn't tell the story. It takes you somewhere the story couldn't go on its own.

03 · Foundations

Space & grid

An 8-point rhythm, no off-grid values, ever. Layout rides a 12-column grid with a 24px gutter inside a 1400px container.

Spacing scale (multiples of 8)

--sp-1 · 8
--sp-2 · 16
--sp-3 · 24
--sp-4 · 32
--sp-5 · 40
--sp-6 · 48
--sp-8 · 64
--sp-10 · 80
--sp-12 · 96
--sp-16 · 128

12-column grid

Common splits: hero 8/12 · feed 4/4/4 · about 5/7 · experiments 6/6.

04 · Behavior

Motion

Three easing curves do almost all the work, paired with four timing tokens. Hover a card to watch its curve run.

--ease-out

cubic-bezier(.16, 1, .3, 1)
Default — 80% of transitions

--ease-in-out

cubic-bezier(.76, 0, .24, 1)
Page-level moments

--ease-spring

cubic-bezier(.34, 1.56, .64, 1)
Small interactive delights

Timing tokens

--fast 180ms --mid 380ms --slow 600ms --page 1000ms

Scroll entrances (the fade-and-rise you're seeing): opacity 0→1 + translateY 40px→0, 1000ms ease-out, 80ms stagger. The cursor ripple fires 600ms after you stop moving.

05 · Library

Components

All built from the tokens above. Everything here is live — hover, focus, and toggle to feel the choreography.

Buttons

Cards — the three-speed hover

Essay

The most interesting place to be

25 years at the intersection of technology and human experience.

JUN 10 · 6 MIN
Ambient

Late-night patches

A short sketch in room tones and slow decay.

AMBIENT · 4:12
Generative

Type that breathes

Variable fonts driven by an idle loop.

#6
Subscriber access

Accent line draws (600ms) · label dot pulses (380ms spring) · arrow nudges + grows + colors (380ms spring). The locked card shows the gated-experiment overlay.

Tags

storytelling experience design canvas javascript

Form & toggles

Focus to see the accent border.

Thoughts
Sounds
Experiments

Audio player

Late-night patches, room tones
Ambient · 4:12
1:46
4:12

Persistent bottom bar, keyed teal to Sounds. On mobile it sits above the dot-nav.

Mobile dot-nav

Four section dots in a 56px bottom bar. Swipe right = forward through sections, left = back; on an article, any swipe goes back.

Dividers


06 · Library

Icons

All SVG, never glyphs — stroke="currentColor", 1.5 weight, round caps, so they inherit color and scale crisply.

play
pause
back 15
fwd 15
volume
queue
add queue
close
lock
share
Copied