Project Description
What if Twitch viewers could become part of the game instead of just watching it?
ChatAlchemy is a community-powered machine-building experience that transforms Twitch chat into an interactive gameplay mechanic.
Instead of simply sending messages, viewers contribute virtual machine components through simple chat commands. Every contribution becomes part of a shared machine, where predefined combinations unlock unexpected interactions and effects.
A viewer might add a gear, another might contribute a battery, and someone else might introduce a laser or portal. The system detects compatible components and activates combinations, allowing the community to collaboratively build something unique.
But the experience doesn't end with building a machine.
When the session finishes, ChatAlchemy uses the final machine configuration to generate a machine identity, description, and an entertaining challenge for the streamer.
The result is a new way to make viewers active participants in the streaming experience.
How It Works
1. Community Contributions
Viewers contribute components using Twitch chat commands such as !gear, !battery, !laser, !portal, and !duck.
2. Intelligent Machine Assembly
A backend-powered assembly engine validates contributions, manages machine state, and detects predefined component combinations.
3. Real-Time Visualization
The machine evolves on a live overlay, with WebSocket synchronization keeping the experience updated.
4. Streamer Controls
Streamers can start, pause, resume, and finish building sessions, as well as trigger special events.
5. AI-Powered Challenges
At the end of a session, the system can generate a machine name, description, personality, and a challenge based on the final machine configuration.
What Makes ChatAlchemy Different?
Most streaming interactions focus on chat messages, polls, or individual audience reactions.
ChatAlchemy takes a different approach: it turns audience participation into a shared creative process.
Every viewer contribution influences the same evolving machine. Predefined combinations make collaboration meaningful, while AI-generated challenges connect the community's creation to the streamer's gameplay.
The audience doesn't just react to the content. It helps create it.
Technology Stack
- Frontend: React 19, TypeScript, Vite
- Backend: Node.js, TypeScript
- Real-Time Communication: WebSockets
- Streaming Integration: Twitch chat through an authenticated chat adapter
- AI Integration: OpenAI API
- Visuals: SVG assets, CSS animations, OBS Browser Source
- Testing: Automated unit and integration tests
Challenges We Faced
One of our main challenges was ensuring that all viewers interact with the same consistent machine state.
We addressed this by moving session management, contribution validation, cooldowns, capacity limits, and combination detection to the backend.
Another challenge was making the experience reliable when external services are unavailable. We implemented a DEMO mode that works without external credentials and deterministic fallback generation when AI is unavailable.
We also designed the system so that LIVE mode requires explicit Twitch configuration rather than silently switching to demo behavior.
What's Next?
Future improvements could include persistent machine history, Twitch EventSub integration for additional stream events, more component combinations, richer visual effects, and expanded streamer customization.
Final Thoughts
ChatAlchemy explores a simple idea: what if the community could build the experience they are watching?
We want to make Twitch streams more collaborative, unpredictable, and entertaining.
One chat. One machine. Unlimited possibilities.