Guides
Straight answers to the questions behind great motion on the web — the same techniques every template here is built on.
How to add scroll animations in Next.js
The reliable stack is GSAP ScrollTrigger for the scroll-linked animation and Lenis for smooth scrolling, running in a client component on the Next.js App Router. Register ScrollTrigger, create triggers inside a useEffect (or gsap.context for cleanup), and let Lenis drive the scroll while forwarding its position to ScrollTrigger.update.
Read guide →GSAP vs Framer Motion: which should you use?
Use Framer Motion for component/UI animation in React — enter/exit transitions, gestures, layout animations — where its declarative, component-first API is a joy. Use GSAP for scroll-driven storytelling — pinned sections, scrubbed timelines, character reveals and video scrubbing — where ScrollTrigger has no real equal.
Read guide →What makes a website template feel premium?
Premium comes from restraint and craft, not more features. Three things do most of the work: one clear concept the whole page serves, editorial typography with real hierarchy, and motion that's linked to scroll rather than sprinkled on as fade-ins. Performance and honest detail do the rest.
Read guide →How to use Claude models to build a website
Build with Claude Code — the agentic tool that reads and writes your files, runs commands and verifies its own work in a browser — not by pasting snippets from a chat window. Reach for the most capable model (Claude Opus 4.8) for architecture and the tricky motion, and a fast model (Claude Haiku 4.5) for mechanical edits like renames and copy tweaks.
Read guide →How to write a prompt for a scroll-animation website
Be specific about four things and the model does the rest: the stack (Next.js + GSAP ScrollTrigger + Lenis), one clear idea the whole page serves, each section described as a scene with its exact motion, and the technical gotchas (all-intra video for scrubbing, the readyState gate). Then tell it to verify in a browser and iterate.
Read guide →