-
-
ORBYX is live Twitch as a 3D universe you can walk through. Don’t just watch. Be there.
-
The whole solar system: nine genre planets and a central island. Drag planets along their orbits and zoom out to see every orbit.
-
A genre planet from orbit. Every game is a country and every live streamer is a building.
-
Street level: walk up to any building to see who’s live and step inside their theatre.
-
The central island, home to every channel with 3,000+ viewers, with every name shown.
-
How it works: React + three.js browser, Node + Colyseus rooms, SQLite index, Twitch for streams, login and chat.
-
Hidden Gems quest: 3 picks, weighted to small streamers. Watch 15 min and the server counts it.
-
A theatre: a shared room around the real Twitch stream, with seats, emotes and chat.
-
Character studio: earn credits from quests, then unlock outfits, hats and necklaces that other players see.
Inspiration
Honestly? Twitch is already so good that we thought about this for a long time. What do you even add to a platform where the streams, the chat, the clips and the communities already work? We kept coming back to the same answer: you can't really add much on top of it.
But you can change how people use the thing we love. Right now, finding a stream means scrolling a list, clicking, and watching alone in a tab. So we stopped scrolling and built somewhere to walk instead. Twitch becomes a universe: every genre is a planet, every game is a country on it, and every live streamer is a building. Walk up to a building and you're standing outside their stream. Step in and you're in a theatre, watching with whoever else walked in.
There was one thing that bugged us too. A list sorted by viewers means the biggest streams get bigger and everyone else is buried on page forty. A place can do something a list can't: it can send you somewhere on purpose.
We didn't want to fix Twitch. We just wanted to see what happens when you give it a map, a few thousand tiny buildings, and the ability to bump into someone.
What it does
ORBYX is a Twitch-only 3D world that runs in the browser.
- A solar system of streams. Nine genre planets plus a central island for channels with 3,000+ viewers. Buildings grow with the audience, from huts to skyscrapers. You can drag planets along their orbits and zoom out to see the whole system.
- Walk anywhere. Click any spot to fly down, then walk, run and jump. The central island, your own planet and every genre planet feel the same.
- Theatres. Step into a streamer's room and watch their real Twitch stream with other viewers. Take a seat, wave, send emotes and chat. When you are logged in with Twitch, your messages go to the real Twitch chat.
- Other people. Everyone on a planet sees each other live, with world chat and emotes. Press Q next to someone for private messages, emotes, planet invites and friend requests. Outfits are shared, so friends see your clothes, hat and necklace.
- Games. Four multiplayer games on every planet, built into the streets: board games, pool and shooters with real projectiles.
- Your own planet. The creators you already love are synced, furthermore discover and pick new favourite streamers (or press "Add to my planet" on any building), search them and fly straight to one, then send an invite link so friends can visit.
- Quests and rewards. Earn credits for time in theatres and social goals, and spend them on outfits, hats and necklaces. The headline quest is Hidden Gems (below).
⭐ Hidden Gems: a quest that sends viewers to small streamers
Discovery on Twitch is hard for small channels, so we built it into the game. Hidden Gems is the biggest quest in ORBYX (250 credits, more than any other), and its whole job is to bring viewers to streamers who don't have many yet.
- Picked for where you are. It offers three streamers from the planet you're standing on, so the picks match what you're into.
- Small channels come up first. The odds are tilted on purpose. Each pick is a hut (under 40 viewers) 50% of the time, a cottage 25%, a house 13%, a tower 8% and a skyscraper only 4%. Most of the time you are sent to someone you've never heard of.
- You have to show up. Walk into their theatre and stay for 15 minutes. The server counts the time you spend in the room, not your browser, so you can't hand yourself credits by editing the page.
- Unhappy with the picks? Hit "New picks" for another three, or just go.
- A rolling reward. Finish it, the credits land, and a fresh set of three small streamers appears.
The result is a game loop where the reward for playing is the thing small streamers need most: a real person sitting in their room for a real quarter of an hour.
How we built it
- Front end: React 19, TypeScript and three.js (via react-three-fiber), built with Vite. Every planet, its terrain, roads, wonders and buildings are generated in the browser from the live stream list.
- Back end: Node with Express and Colyseus for realtime rooms: one for each theatre, one for each planet's people, and one for the games. A SQLite index holds the stream list.
- Twitch: Helix for the live stream index, OAuth for login, EventSub and the chat API for real chat in theatres, and the follows scope so your followed channels can fill your planet.
- Deployment: A single Docker container on Render's free tier serves the site, the API and the rooms together.
We used AI coding tools for different parts of the work. Codex built the multiplayer station-games system from a written brief, and the avatar, quest, in-theatre phone and Twitch-follows features. Codex also built the planet renderer (terrain, roads, wonders, blimps), the central island, custom planets, crowds, player interactions, rewards fixes, deployment and a lot of the testing. It also wrote the original Express/Colyseus backend, the catalog and the theatre rooms.
Challenges we ran into
- Placing 100,000+ buildings on spheres. Keeping buildings, roads and game blocks off mountains and out of the sea took several rounds of fixes to the terrain and layout.
- Hosting limits. The free host has 512 MB of memory and no permanent disk, so the hosted demo shows the top 5,000 live streams, busiest first. Run it yourself and it indexes everything it can fetch, over 100,000 streams at peak.
- Making multiplayer feel right. Outfits and watch time first lived only in the browser, which meant other people could not see your hat and anyone could edit their way to credits. We moved outfits into the shared rooms and made the server count watch time for the big quest.
- Small bugs that mattered. Twitch login failing when the server restarted mid-login, two browser tabs showing up as two people, and a stale zoom limit that stopped you seeing the whole solar system.
Accomplishments that we're proud of
- A whole universe of real, live Twitch streams you can walk through, not a mock-up.
- Hidden Gems: a quest that turns discovery into gameplay and sends viewers to small streamers, with the watch time counted by the server, not the browser.
- Shared outfits that other players really see.
- A planet that is yours: add streamers, invite friends and visit theirs.
- Everything runs from one command locally, and the same code deploys as one container.
What we learned
- Generating a believable world from live data means writing rules (where things may stand) and testing them on every planet, not placing things by hand.
- Anything that rewards players has to be decided on the server, never in the browser.
- You can nudge where attention goes just by changing the odds. Making huts the likeliest pick, instead of the biggest names, is one line of weighting and a very different Twitch.
- Free hosting forces honest trade-offs. We would rather say plainly that the demo shows 5,000 streams than pretend it shows all of Twitch.
What's next for ORBYX
- Grow Hidden Gems: quests that rotate through new and returning small streamers, streaks for coming back, and a way for streamers to say "yes, send people my way".
- Persistent storage and accounts, so friends, planets and outfits survive restarts and sync across devices.
- Streamer tools: let streamers claim and decorate their own building, and host events for their community.
- Safety and moderation: reporting, block lists and room controls.
- Mobile and controller support.
- Hosting that can index every live stream, with the planets scaling to match.
Built With
- colyseus
- css3
- docker
- html5
- javascript
- node.js
- oauth
- openai-codex
- react
- react-three-fiber
- render
- sqlite
- three.js
- twitch
- twitch-eventsub
- typescript
- vite
- webgl
- websockets
- zod