Turn chat into your game master
Great streams create stories together. Plot Twist lets the community pitch challenges while the streamer controls what appears on stream.
From a chat idea to a community legend
Viewers send an idea with !twist in Twitch chat. The streamer reviews suggestions, adds approved ideas to a persistent challenge deck, and selects or draws cards for a vote. Chat votes with !1, !2, !3 or !4. An OBS browser-source overlay shows the vote, reveals the winning twist and displays a challenge timer. The streamer marks the challenge completed, failed or skipped.
Each resolved live challenge becomes a Community Legend: a saved moment with the challenge, author, result and votes. A streamer can bring an active deck card back for a revenge vote, with the returning challenge highlighted on the overlay. The streamer reviews and opens every round.
Each viewer has one current vote and can change it. A tie or an empty round does not invent a winner. Panic clears the current round and overlay. A guided demo shows the complete flow with clearly labelled simulated votes and moments; simulated outcomes do not change live statistics.
The streamer can optionally request a public Twitch clip after a live challenge, with separate clip permission. Clip creation requires a live broadcast and has been tested with mocked Twitch API responses, not a real broadcast.
How we built and tested it
Twitch OAuth authorizes the broadcaster’s chat access. A local Node.js server receives Twitch EventSub messages, maintains the voting and challenge state, and sends updates to the dashboard and overlay. OpenAI Codex assisted with the server, Twitch integration, deck, voting logic, interface, overlay and automated tests.
A real chat suggestion, vote, winner reveal and challenge timer were tested on Twitch. In another real round, two accounts voted for different choices and the overlay correctly showed a tie. An earlier overlay version was checked in OBS preview; the new Community Legends and revenge flow were tested in rehearsal and automated tests, not with a live Twitch broadcast. The prototype runs locally for one channel at a time.
Log in or sign up for Devpost to join the conversation.