all experiments
interaction study · example

Type play

Give a few letters a little room to move.

change a word. play with its shape.

Customize

400
0px
110px
22px

The idea

A small typographic playground. Change the word, adjust its weight, spacing, pointer radius and lift, then move your pointer across the letters.

How it works

Each letter is a separate element. Its distance from the pointer determines a small vertical offset, animated with GSAP. Moving away returns the letters to their baseline.

The text field and sliders work with a keyboard and on touch screens. Reduced motion disables the pointer-driven animation while preserving the controls.

Try it

Start with a short word and generous spacing. Then make the type heavier and bring the letters closer together. The same word can feel surprisingly different.

This is a demonstration built for the first version of this website.

Controls

The shared Customize panel uses native range inputs underneath its filled tracks, keeping arrow-key and touch interaction intact. Toggle pointer movement off for a static composition, or Reset to return to the original settings. Text scales to the available stage width so longer words and generous spacing fit on smaller screens.

pointer-offset.ts
typescript
const distance = Math.abs(pointerX - letterCenterX);const influence = Math.max(0, 1 - distance / 110);
gsap.to(letter, { y: -influence * 22, duration: 0.35, ease: "power3.out", overwrite: true,});