Digital Garden

The Ritual of a Button: an Apple-Style Button System

2026-09-14 · ~2 min read · design · iteration log

A button is the only thing on the page that gets pressed

Before this, my buttons were all text links: a line of blue text, a chevron. Functional — but when your fingertip landed, nothing happened.

Apple’s philosophy: every pressable thing deserves a ritual.

Three curves, one system

The whole system is three decisions:

Press rebound: an engineering concession

The real story is the feel. On press the button scales to 0.96 and springs back — sounds like one line of transform: scale.

But this site uses GSAP for magnetic hover, and magnetism writes inline transform. Add a CSS transform and the two channels go to war.

The fix is independent transform properties: the scale property and the transform property travel separate compositing channels and never overwrite each other. One line of scale: 0.96, and magnetic displacement and press rebound coexist.

Sophistication sometimes comes not from how much code you write, but from the war you avoid starting.

The halo on the round button

The circular GitHub button in the contact section keeps its original composition, and gains only an Apple Watch crown treatment: on hover, a ring of pale white spreads out, a trace of blue haze rises, and the icon floats up two pixels.

The composition unchanged; given breath.

One rule

The button system has exactly four variants — solid pill, glass pill, link, icon. Every new interaction on the page grows out of one of these four; a fifth is never invented.

Comments

← Digital Garden