Inspiration
Twitch’s best moments happen between a streamer and their community: a shared joke, an unexpected question, a heated debate, or a suggestion that changes the stream. But as chat moves faster, those conversations become harder to follow. A thoughtful question disappears beneath repeated messages. Several discussions overlap. The streamer tries to keep up while playing, creating, or talking.
As a data scientist, I wanted to make that activity understandable without losing its personality. What is chat discussing? How many distinct people are involved? Which conversations deserve a closer look?
That inspired Chatlas: Your chat, finally in focus. A way to help streamers discover conversations, hear more participating voices, and turn those moments into shared decisions when they choose.
What it does
Chatlas turns fast-moving Twitch chat into an interactive conversation map. Related messages form topic groups covering discussions such as the next game, music, or breaks. Streamers can explore topics, inspect example messages, and compare message activity with distinct participating accounts.
When a conversation becomes a decision, the streamer creates an approval vote. Viewers participate through Twitch chat: !vote 1 3 approves options one and three.
Each account can approve multiple options. Repeated ballots do not multiply influence; the latest valid ballot replaces earlier choices. OBS overlays bring conversation summaries, active votes, and results onto the stream. Session history helps streamers revisit previous discussions and decisions.
The distinction stays visible: topic mentions describe discussion; explicit ballots determine voting results.
How we built it
I used OpenAI Codex as a development collaborator to translate the concept into application structure, interaction flows, chat-processing logic, and interface components.
The application separates receiving chat, organizing conversations, and managing votes, making each result easier to inspect and explain.
Topic grouping includes a lexical TF-IDF mode, with its limitations identified in the interface. Source messages remain accessible so streamers can check whether a grouping makes sense.
Voting tracks choices by account, applies ballot replacement rules, and separates open voting from closed results. The conversation map provides visual focus, while evidence and voting controls support the next action.
Synthetic demo activity is explicitly labelled, keeping previews distinguishable from real audience activity.
Challenges we ran into
The hardest challenge was deciding what the interface could honestly claim.
A large topic might reflect repeated messages, many contributors, or both. Neither reveals what nonparticipating viewers think. Chatlas therefore distinguishes messages, accounts, and ballots rather than presenting a misleading “consensus” number. Short messages, slang, emotes, and changing context also complicate topic grouping. Accessible source messages help users inspect those limitations.
Balancing visual impact with usability was another challenge: the map should be engaging, while checking context and starting a vote should remain quick.
Accomplishments that we're proud of
I’m proud of connecting conversation discovery and audience participation through a clear workflow:
Topic → source messages → streamer-reviewed question → explicit vote.
I’m also proud of developing a recognizable visual identity while keeping practical controls prominent. The website and overlay concepts share a consistent visual language, connecting the streamer’s workspace with the audience’s experience.
What we learned
Chat becomes more useful when its context remains visible. Summaries can hide disagreement or repetition. Showing messages and distinct contributors gives streamers a better basis for deciding what to do next. Fairness also depends on implementation details: account identity, ballot replacement, and closing times. Working with Codex reinforced the value of precise specifications. Clear participation and voting rules made the product easier to build and reason about.
What's next for Chatlas: Your chat, finally in focus.
The next priority is testing with streamers and their communities: which topics help, where grouping becomes confusing, and how easily viewers participate.
Planned improvements include stronger semantic and multilingual grouping, better handling of slang and emotes, flexible topic controls, and customizable OBS layouts.
Evaluating topic quality and participation in real sessions will guide those improvements.
The goal is to help streamers spend less effort interpreting crowded chat and more time creating shared moments.
Built With
- codex
- eventsub
- fastify
- natural-language-processing
- node.js
- obs-studio
- openai
- openai-codex
- react
- sqlite
- tf-idf
- twitch
- typescript
- vite
- websockets
Log in or sign up for Devpost to join the conversation.