Motion lab
Every bit of motion on this site, in one place. Built with GSAP, ScrollTrigger, SplitText and Lenis. Scroll slowly.
01Smooth scroll
The page glides instead of stepping.
Lenis eases every wheel tick and trims it to 85% of the usual distance. On every page.
02Text that arrives
Good motion is mostly invisible. It tells you where something came from, where it went, and what changed, then gets out of the way. Every word here lights up as you scroll past it, the same way the page titles rise in letter by letter.
SplitText + ScrollTrigger scrub. Page titles use the same split, played once on load.
03Pinned scene
04Tiles that lean

Tilt + drift
The card leans toward the cursor while its image slides the other way.

Quick-to tweens
gsap.quickTo keeps it smooth at 120 Hz without piling up animations.

Staggered entry
Tiles fade up in a short cascade as they enter the screen.
Used on Reccos, Playground and Writing.
05Objects in 3D
Plain CSS 3D, turned by your scroll. The same build powers the book shelf on Reccos.
06Numbers that count
Used on Splits for the headline stats.
07Magnetic + page transitions
Go to ReccosThe button pulls toward your cursor like the nav links do. Clicking it cross-fades to the next page with the native View Transitions API while the nav stays put.