The site is the build.
We built glitchcatclub.com live. Next.js 16. Tailwind 4. Bongo cat with five outfits.
#nextjs#tailwind#live
what we built
A working marketing site for the club. Live at glitchcatclub.com. Five routes. One Linktree. A bongo cat that cycles through five outfits when you hover the CRT bezel.
The hero terminal types itself out in CSS clip-path so the LCP stays under a second. The mascot variant swap fires a 200ms RGB-split glitch transition. The live state hero reads from a Supabase cache row so the request path never touches Restream directly.
what broke
- Next.js 16 bundles React 19 canary and the App Router types fight Supabase typed-results without a
Databasedeclaration. Fixed by hand-rolling a minimal schema type. Generated types coming Wave 5. - The Rumble channel link was
/c/glitchcatclubfrom memory. Actual channel lives at/user/GlitchCatClub. Caught on first preview. - Site wordmark said
glitchcat.club. Actual domain isglitchcatclub.com. One Find and replace later, fixed.
what we learned
Linear-tier polish is mostly typography plus one or two interactions that are weirder than people expect. The 5-variant mascot cycle is doing the heavy lifting. Everything else is just dark canvas, VT323, and patient spacing.
Build in public. Break in public.
up next
- GitHub auto-deploy on push
- Real Restream OAuth wiring
- Wave 4: View Transitions glitch wipe between routes