boot…
Animation primitives · demo · self-contained

Four primitives. Zero dependencies.

Scroll the page. Every section's content fades + slides up 60px as it enters the viewport. Numbers count up. Cards breathe out of sync.

0
variants tested before launch
0 min
URL → first Meta upload
$0
per month, cancel anytime
01 · Master reveal

Every element earns its entry.

Travel 60px + fade in over 1.4 seconds. One-shot per element.

10 lines of CSS

Three rules.

One IntersectionObserver

Threshold .01.

Safety net at 1.2s

Above-fold elements always end visible.

02 · Count-up rollup

Numbers fly in. Once.

easeOutCubic, 1.4s.

0
creatives shipped today
0
vs guesswork
$0K
revenue from one post
03 · 3-variant float

Cards that never sync.

Three different keyframes, three different periods. Eye reads "alive."

Variant A

4.4s · rotates -1.8° / -2.6°

Variant B

5.2s · rotates +1.6° / +2.4°

Variant C

4.8s · rotates +2.0° / +2.8°

04 · Test result

If you see motion here, the system works.

Scroll back up — reveals don't replay (one-shot). Float continues. Debug overlay in the bottom-right shows live state.