Home Work Photos Reccos Playground Writing

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

WorkImages drift inside their frames as you scroll.
PhotosTrip posts reveal text and photos in sequence.
ReccosSections ease open; books sit on a 3D shelf.
WritingA tile grows into the article you open.
SplitsHeadline numbers roll up when the data lands.

04Tiles that lean

Used on Reccos, Playground and Writing.

05Objects in 3D

Shoe DogPhil Knight
Shoe Dog

Plain CSS 3D, turned by your scroll. The same build powers the book shelf on Reccos.

06Numbers that count

2877km run, all time
15books on the shelf
85% scroll speed

Used on Splits for the headline stats.

07Magnetic + page transitions

Go to Reccos

The 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.