-
-
Landing page with product explanation and Twitch OAuth2 Integration
-
Channel page displaying users, messages, shared moderation decisions, and action buttons to reinstate or ignore the offense
-
Modal popup when reinstating a user's timeout
-
Modal popup when polling the chat's opinion for the appropriate punishment
3-minute demo: https://www.youtube.com/watch?v=1Tc_oZq25qw
30-second promo: https://www.youtube.com/watch?v=xg2sgLNiB9g
Inspiration
Twitch's Shared Chat feature is a game-changer for streamer collaborations with live community involvement. The authors of this project have implemented Shared Chat support in a leading library to interact with Twitch's API (twitch4j) and have added Shared Chat support to a popular third-party chat client that is often used by "power-mods" (Chatterino).
When moderating channels using Shared Chat, we found ourselves wanting a convenient interface to review shared bans and timeouts, since these actions are automatically lifted at the end of Shared Chat sessions. See https://link.twitch.tv/SharedChatMod for the official, complicated table that explains the intricacies of moderating shared chats.
What it does
Our project displays messages from users that were banned or timed-out by other channels within a Shared Chat session. Moderators can then decide whether to reinstate these moderation decisions to boost long-term channel safety (otherwise these potentially problematic users would be able to participate in chat again).
Streamers can also create content using the pool while democratizing moderation decisions via the built-in poll functionality, similar to "unban request" streams that are already popular like https://www.youtube.com/watch?v=WcJ1PaJ5010
How we built it
We utilize Twitch's EventSub Conduit transport (via twitch4j) to obtain real-time events such as chat messages and moderation actions. This data is stored in a SQL database hosted with Cloudflare, and a Cloudflare Worker is used to surface a REST API to access this data for the frontend. The frontend is built using React/Radix/TanStack/TailwindCSS/Vite, and renders relevant data for moderators while utilizing Twitch's Helix API to perform additional moderation actions.
What's next for Shared Chat Mod Helper
We plan to expand the project to cover other common use cases moderators encounter when managing Shared Chat sessions, including real-time tooling. For example, blocked terms and diverging automod settings do not apply to shared messages, so we plan to provide moderators more automation for handling messages that may otherwise not be permitted within the local channel.
Built With
- bun
- cloudflare
- cloudflare-workers
- eventsub-conduit
- java
- javascript
- kotlin
- node.js
- npm
- radix
- react
- sql
- tailwindcss
- tanstack
- tsx
- twitch-eventsub
- twitch-helix
- twitch4j
- typescript
- vite

Log in or sign up for Devpost to join the conversation.