Two platforms running the same moderation taxonomy.
Whenever someone asks me what a good moderation config looks like, I ask back, "Who’s in your room?"
New case study with @Kalshi
Messages up 14x in four months. Moderation checks up 12x. 59,000 peak concurrent connections over NFL opening weekend.
All of it built by one engineer.
https://t.co/xqUDcEH9mU
Your users’ next favorite emoji might be one they made themselves. 🎨
Amos built a SwiftUI demo that generates animated emojis with GPT-Image-2.6 and drops them into Stream Chat for iOS. Worth a look.
I just found the best use case for GPT‑Image‑2.6 Flare and Sunburst: Generating custom animated emojis for messaging (Telegram, Slack, WhatsApp, Discord). See a Stream Chat iOS integration for SwiftUI.
I keep hearing the same thing from Trust & Safety leaders: “Our moderation works.” Then we ask which formats it covers.
Bad actors don’t care if it’s a chat message, a screenshot, a video, a voice note, or a livestream. They’ll test every one until they find the gap.
We ran the same payment-diversion attempt through all five. Most stacks catch the text version and miss the other four. That’s where the losses come from.
Stream Moderation runs one policy across text, images, video, audio and live. 35+ categories, 50+ languages.
If you want to see how your setup holds up, let’s talk
The 2026 World Series in prediction-market chat on Stream:
711 million chat API calls across five games.
7 to 17% more messages on game days.
Insults held at 30 to 31% of detections.
Busiest day: an NFL Sunday, 1.12M active users.
Your blocklist is the worst moderator on your team.
It has no context, it never learns, and it treats every instance of a word identically. “I will kill you” and “you killed the presentation” are the same event to a blocklist.
It’s also the first thing most teams reach for, because it’s the one part of moderation that feels completely under your control.
I’m not saying turn it off. I’m saying go read what yours actually caught last week. Most people never have.
Moderating live video means accepting you can’t undo anything.
Chat has a queue. You can hold a message, score it, remove it before anyone reads it.
Live video has no queue. It has already been seen.
So the question changes. Not “can I stop this frame” but “can I stop the next one.”
That’s why enforcement acts on the participant. Warn, then blur or mute, then remove them from the room.
The content you can’t take back. The next ten minutes you can.
If you need a speech-to-speech model for your app/project, Phonic-1 is the best alternative to GPT-Live-1, Gemini 3.8 Live, and Grok Voice 3. I tried it for iOS/SwiftUI in this demo with 41 natural-sounding AI voices in 50 languages. 👇
https://t.co/vXH62aw7y5
@Kalshi's live chat grew 14x across the NBA Finals, the World Cup, and NFL opening weekend, powered by Stream Chat and AI Moderation.
59,000+ concurrent connections at the NFL peak.
18 ms average moderation check.
1 engineer on the chat build.
https://t.co/Vii8tpAqQe
Nov 7, Nuremberg. Our @stefanjblos talks local AI and what you can already do with it at Google DevFest. 10:00 to 19:00 CET, Zollhof 7.
https://t.co/CwfAamBB4m
@Rosterfy2 built volunteer chat on Stream.
42,000 volunteers connected at a major global event.
80,000 messages across 795 channels.
10,000 to almost 40,000 monthly active users, April to May.
https://t.co/gjWDsawmTY
Five weeks to Black Friday. Here’s what I’d change in your moderation config before then.
🔵 Set flood and rate limits against your peak minute, not your daily average.
🔵 Check any rule keyed to account age, because a lot of your December users will be brand new.
🔵 Make sure something counts flags across messages per account, not just per message.
🔵 Default gray-area categories to limited reach rather than removal while your team is thin.
🔵 Staff the review queue to the hours after the event, not during it.
The whole list is an afternoon of work, and every item is harder to do in December.
Sharing some advice as a trust & safety leader:
Don't staff up for a big event like it’s a different animal.
Case in point: the first two World Series games had 45% more flagged content. But? The harm mix didn’t move at all. Racism was at 10% both nights + on a day with no game.
Harm typically looks the same on big nights, you just get more of it.
Build the config that fits your Tuesday 🙃
Indiana beat Michigan in overtime on Saturday. I’m a Hoosier, so I spent most of it with my hands over my face. 🙈
Look at the chat. Nobody was being abused.... they were reacting to the game. “This team is ass” and “you are ass” look the same to a keyword filter. But to a person, they’re completely different.
If your moderation can’t tell them apart, you have a context problem.
Our guide to moving off Perspective API, written by GTM Lead @kenziewilsn.
65 days until it shuts down.
5 steps to move to Stream.
https://t.co/AFv8ACO9Rv
Stop stitching
Here's how most platforms end up moderating...
One vendor for text. Another for images. Another for video. A separate tool for the review queue.
Four contracts. Four dashboards. Zero shared context.
At Stream, text, images, video, audio, usernames, and livestreams all run through one engine and land in one queue.
Your mods deserve one place to work 🙃