The idea
A streamer wants to create a new channel mascot with their community, but ideas in chat are easy to lose while the show keeps moving. ShowPact turns those ideas into a sequence of bounded choices, with the creator in control of what makes it into the work.
What it does
ShowPact opens round-scoped Twitch chat votes for a mascot, an activity, and a finishing detail. The creator closes each round and explicitly approves a choice. Accepted choices stay together in a living brief that can be shown on stream and used as the creator makes the artwork. The finished image can be attached and its link sent to Twitch chat; ShowPact’s audience view displays it inline.
The prototype also supports bounded OBS effects, interruption and cleanup, and durable outcome records. A disconnected or uncertain result is reported rather than silently replayed after a restart.
How we built it
We used OpenAI Codex to develop and test the creator-control and Twitch/OBS workflows. ShowPact uses Python, aiohttp, SQLite, Twitch EventSub, OBS WebSocket, and a browser-based control room and audience view. The included Codex segment shows a later inspection of the brief implementation and a focused test.
The demo uses real Twitch chat with the broadcaster casting test votes. The sample mascot illustration was prepared before the test and then attached to ShowPact; the later artwork view is labeled. Twitch chat receives a link, while the ShowPact audience view renders the image inline.
Challenges and learning
A chat vote is not the same as creator approval, and an OBS request is not proof that a viewer saw a result. We kept those stages separate and made interruption and uncertain outcomes visible. The next question is how creators use the workflow with their own communities over time.