
Submitted to the Codex × TwitchCon Hackathon · Built with Codex
VELNESTA lounge inside the Twitch broadcast
A shared 3D room for a Twitch community. Viewers sign in with Twitch, pick a character, and walk, wave, cheer, dance and take a seat from their phone or desktop, while the streamer shows the same room on stream through OBS.
Watch the 3-minute filmwww.youtube.com/watch?v=8-6oXTWjftoProduct idea
Chat is a list of names. A community is a room.
A Twitch community has familiar names, running jokes and shared moments, but on screen it is a scrolling list. VELNEST gives those names a small place inside the broadcast: a lounge where viewers can see each other, move around and react together.
The room server is the single source of truth. It owns every position, reaction and seat, so what a viewer does on their phone is exactly what the stream shows, even for an OBS source that connects late.
Highlights
Small enough to build in four days. Real enough to go live.
Your Twitch name, in the broadcast.
Server-side Twitch OAuth with token validation. Tokens never reach the browser, which only holds an opaque session cookie. Any signed-in viewer can join, with an optional subscriber-only mode for affiliate and partner channels.
Three characters, one shared room.
Riff, Arc and Muse, with headphones, a backpack or a lightstick. Click the floor to walk around the furniture; wave, cheer and dance with authored animation, floor rings and confetti.
A seat is a promise.
Three lounge chairs, each reserved by the server, so two viewers can never claim the same one. Characters walk to the seat and sit with an authored Blender pose, not a visual shortcut.
Moderation that follows the person.
The broadcaster can remove someone for five minutes. The timeout follows the verified Twitch identity across tabs, reconnects and fresh logins, and the viewer can still watch the stream.
How I used AI
Codex as the build team. Me as the director.
Code and 3D from one agent
Directed Codex to write the TypeScript app, the Three.js room and the realtime server, plus the Blender Python that builds the lounge, three rigged characters, their props and six animation clips each. I reviewed every render.
Tests on the real exports
Twelve suites check the actual exported animation clips, pathfinding, concurrent seat claims, sign-in and moderation. GitHub Actions runs them on Windows and Linux without Twitch credentials.
A film made the same way
The 3-minute submission film was built in HyperFrames from the real recordings, with first-person Kokoro narration and an original score synthesized in code. Every real capture is labelled.
Running build
From sign-in to the sofa.






Technical foundation
One authoritative room, rendered everywhere.
- Front end
- React · TypeScript · Three.js · Vite · keyboard and touch controls · OBS overlay view
- Realtime
- Fastify · Socket.IO · authoritative room server · late OBS sources receive a room snapshot
- Identity
- Twitch authorization-code OAuth · token validation · Get Users API · optional Check User Subscription
- 3D pipeline
- Blender Python → GLB · 2.38 MB compressed room · self-hosted decoders · four CC0 Poly Haven furniture sources
- QA and film
- 12 suites in GitHub Actions on Windows and Linux · HyperFrames · Kokoro TTS
Boundary
Live once, honestly labelled.
An authorized public demo ran on Twitch on October 29, 2026, and the Twitch player received the room. A second real viewer account and a physical-phone walkthrough are still unverified, and the app is not hosted publicly: judges run the labelled demo mode locally. The motion study is staged, and the film says so.
