Scroll animations, motion that earns the scroll, not motion that taxes it.
Scroll-driven animation is great when it pays and terrible when it doesn't. We build the scroll layer with motion/react or GSAP ScrollTrigger, measure the cost, and ship only the moments where the motion actually carries information.
What we build
Driven by IntersectionObserver, not scroll position
Per-component intersection thresholds trigger the animation; the scroll position itself only drives the rare effect that earns it. Cheap on the main thread, easy to reason about, accessible to reduced-motion.
GSAP ScrollTrigger for the pieces that warrant it
Pinned sections, scrubbed timelines, complex sequences, GSAP ScrollTrigger handles the heavy lifting. We don't reach for it on every page; we use it where the alternative is hundreds of lines of useEffect.
Lenis for smooth scroll, only where it earns
Smooth-scroll libraries change the scroll experience; we use them only on pages where the animation depends on it. The product surfaces stay on native scroll; the marketing pages opt in deliberately.
Performance budget enforced in CI
Lighthouse CI tracks INP and TBT. Scroll animations that push the page over budget fail the build. We measure before we ship; we measure again after.
Reduced-motion downgrades, not opt-out
Users with `prefers-reduced-motion` still see the structural reveals at full opacity, just without the motion. The page still works; the choreography just gets respected.
Mobile-aware motion
Mobile devices have less GPU headroom and shorter viewports. Scroll animations scale down or drop entirely on mobile when the cost-vs-payoff calculation says they should.
Where this fits
You're shipping a marketing site that needs scroll-driven sequences and you've seen too many that tank Core Web Vitals.
Your design has 'on-scroll reveal' on every section and the page feels slow even on a high-end laptop.
Your team is debating whether to add smooth scroll across the site and you want it scoped to where it actually helps.
Tech stack
- motion/react
- GSAP ScrollTrigger
- Lenis
- IntersectionObserver
Want this for your team?
30 minutes with a founder or senior engineer. We'll scope what you need and tell you straight whether Stacklane fits.
Book a Free CallRelated capabilities