Inspiration

Streamers need a way to turn fast chat suggestions into playable moments without surrendering control of the show. I wanted viewers to propose challenges that fit the current game while the streamer makes the final call.

What it does

Quest Director reads messages from a real Twitch channel through EventSub. It groups repeated suggestions, checks them against the streamer’s selected game and forbidden challenge types, and puts suitable ideas into a review queue. The streamer approves a mission before it reaches a transparent OBS overlay, then marks its outcome. A sample chat feed lets anyone rehearse the workflow without a Twitch account.

The default mode is a clearly labeled local rules filter for supported profiles. An optional local Ollama model can review relevance and rewrite suggestions for other games. The recorded demo uses the rules filter; it does not claim that an AI model evaluated that specific message. Gameplay outcomes are marked by the streamer, not verified automatically.

How I built it with Codex

I used OpenAI Codex in session 01a17eb0-74ff-76e3-8410-200707749db4 to build the challenge engine, Twitch OAuth and EventSub connection, streamer dashboard, OBS overlay, and automated tests. The demo shows the original request (adapted from Russian), original build activity from the Codex session log, and clearly labeled later Codex editor footage. The example game name is masked in the video as [game] to avoid an unlicensed third-party mark; the original chat delivery and approval workflow are unchanged.

The app runs on Node.js 22+ without runtime packages. Twitch authorization requests only user:read:chat; the access token stays in the local server process. No public Twitch broadcast was started for the recorded test, but the message came through the real channel chat and was delivered by Twitch EventSub.

Challenges and what I learned

Viewer input has to remain untrusted. Suggestions are filtered, repeated ideas are grouped, and only a streamer-approved mission can appear on the overlay. A real chat test exposed an overly strict model classification of an in-game driving task; adding explicit game context fixed that example. Seven automated tests pass. Broader model quality and automatic gameplay verification remain future work.

Run it

The public repository contains the source, setup instructions, and tests: https://github.com/temirrllan/quest-director. Run npm test and npm start, then open http://localhost:4175/. Add http://localhost:4175/overlay.html as an OBS Browser Source.

Built With

Share this project:

Updates

Submission history