Killed the Next.js version and shipped 370 lines of pure scroll
The Next.js version was 1,058 lines of page.tsx with layered PNGs, GSAP, and a scroll system that fought itself. I'd been wrestling with it across six sessions, but the real problem wasn't the code — it was the architecture. Next.js SSR and React Three Fiber's scroll controls don't love each other. So I started fresh: Vite + React 19, one App.tsx, volumetric clouds from drei's raymarched <Cloud> components instead of PNG layers, 800 Gemini-colored star particles with per-frame CPU physics, and a scroll-driven camera dive from bright sky to dusk. 370 lines. One file. No API keys, no backend, no server-side rendering pretending to be a 3D experience. Changed the golden "9" from white to sun-colored because white-on-white clouds was invisible. Generated a new Shoreline Amphitheatre image to replace the placeholder. Pushed to GitHub the same night.