The 180 KB budget: a premium site without the bloat
A premium site does not have to be a heavy one. This site ships under 180 KB of gzipped JavaScript on the home page, and the budget is enforced, not hoped for.
Decide what loads first
The first paint needs HTML, CSS and fonts — nothing else. Everything that moves is an enhancement: GSAP, Lenis and the WebGL background load on idle, after the page is already readable. If they never arrive, nothing breaks.
Let CSS do the scrolling work
Scroll-driven animations (animation-timeline: view()) run on the compositor. Section fades, the progress line and the timeline that draws itself cost zero JavaScript. GSAP is kept for the one pinned scene where choreography really needs it.
One loop, not ten
Every effect — the spotlight title, the cursor, the magnetic buttons, the marquee — subscribes to a single requestAnimationFrame loop driven by GSAP's ticker. Ten independent loops would each wake the main thread; one loop does the same work once.
Measure in the visitor's browser
The hero card shows this page's own LCP, INP and CLS, measured live with web-vitals. It keeps me honest: if a change makes the site slower, the site says so.