The problem
Most portfolios describe the work. This one had to BE the work: proof that a scroll-driven WebGL site can stay smooth, readable and accessible instead of trading all three for spectacle.
Most portfolios describe the work. This one had to BE the work: proof that a scroll-driven WebGL site can stay smooth, readable and accessible instead of trading all three for spectacle.
One shared Three.js instance and at most three WebGL contexts on the page, GSAP owning every scroll-linked value, and choreography written as stateless maths over pin progress so reversing the scroll is correct for free. Reduced motion is a real branch, not an afterthought.
A morphing sphere, a headline written along a curve, a gravity playground you catch cards in — and a page that still degrades to a readable document when the scripts never arrive.
Proportions are how much of the build each piece carried.