Paste this into the Devpost project description:

Inspiration

Twitch chat already changes what happens on stream, but its contributions often stay trapped in a scrolling text box. We wanted to make the whole community visible as one living presence. Murmurations form when many birds move together; Murmuration brings that idea to chat, turning individual messages into a shared current.

What it does

Murmuration turns Twitch chat into an animated flock. Each message adds a spark, while the room’s collective energy shapes how the flock moves. Streamers can choose a biome and add the transparent canvas to OBS as a browser source.

Chat can awaken three shared rituals: !gather pulls the flock into orbit, !bloom bursts with color, and !ripple sends a wave across the field. Each ritual needs three distinct chatters within 45 seconds, so the moment belongs to the room. An optional AI feature turns recent chat into a brief collective memory. A fictional sandbox lets people explore the experience without connecting Twitch.

How we built it

We used OpenAI Codex to shape the concept, build the interface and animated Canvas 2D flock, and connect the Twitch and OBS pieces into a runnable project.

The app uses Node.js and vanilla JavaScript. Twitch OAuth authorizes chat access; EventSub WebSockets deliver live messages; and the Helix API identifies the channel. A small local relay carries events to the OBS browser source, keeping the Twitch token in the dashboard rather than the overlay. Optional AI narration uses a local server route to call OpenAI’s Responses API when the streamer supplies a key.

Challenges we ran into

We had to make chat power both individual visual effects and community-wide moments. Rituals count distinct chatters over a rolling window, so one person sending repeated commands cannot trigger them alone.

We also needed the OBS overlay to receive live events without receiving the Twitch access token. We kept Twitch authorization in the dashboard and used a local relay for the overlay. Finally, we wanted the project to be easy to try, so we built a sandbox that works before Twitch setup.

Accomplishments that we're proud of

We’re proud that the idea works at two scales: a single message leaves a visible trace, while several people can create a shared ritual together. The project connects a real Twitch channel, offers an OBS browser-source overlay, and runs without installing third-party packages. The optional collective-memory feature adds a new way to read the room without quoting individual messages.

What we learned

We learned how Twitch OAuth, EventSub chat delivery, and Helix channel lookup fit together in a working app. We also learned that audience participation feels more collective when a feature rewards distinct voices instead of message volume. Codex helped us move from an interaction idea to a connected, runnable experience.

What's next for Murmuration — One chat. One living thing.

Next, we’d add streamer-configurable rituals and biomes, improve the overlay setup flow, and explore a hosted relay for streamers who run OBS on a different machine. We’d also like to make the collective-memory feature easier to opt into and tune for different communities.

Built With

Share this project:

Updates

Submission history