Inspiration

Reddit threads can go from normal discussion to full chaos really fast. We wanted to build a tool that helps moderators catch those moments early, especially when a few users keep triggering heat, baiting replies, or turning a thread into a fight.

What it does

EscalationRadar watches comment activity and flags threads that look heated, chaotic, or rage-bait driven. It looks at reply loops, comment bursts, repeated heated language, and users who attract or create a lot of conflict.

The dashboard gives moderators metrics, graphs, workflow buttons, configurable thresholds, flair TTL, and automatic post or user flairing for risky patterns.

How we built it

We built it as a Reddit Devvit app with a TypeScript backend and a custom dashboard UI. The backend listens to Reddit events like new comments and reports, scores the conversation, stores snapshots in Redis, and applies moderation flairs when thresholds are crossed.

The UI shows incidents, conversation pressure, dominant patterns, velocity spikes, and moderation workflow states like acknowledge, resolve, ignore, and reopen.

A simplified scoring idea looks like:

$$ risk = heat + replyLoops + velocity + rageBaitSignals $$

where each signal is calculated from recent comments, reply structure, and user interaction patterns.

Challenges we faced

The biggest challenge was detecting actual conversation structure. At first, nested reply chains were not triggering correctly because only top-level comments were being scored. We fixed that by loading deeper comment trees, flattening replies, and preserving parent context for active branches.

Another challenge was keeping the UI useful without making it noisy. Moderators need fast signals, not a wall of data, so we added tabs, metrics, triage actions, graphs, and configurable settings.

What we learned

We learned a lot about Reddit moderation workflows, Devvit APIs, comment trees, Redis-backed state, and how hard it is to distinguish normal disagreement from actual escalation.

We also learned that rage bait is not just about bad words. Sometimes the signal is the interaction pattern: who replies to whom, how often, and whether one user keeps pulling the thread into chaos.

What’s next

Next, we want to improve false-positive handling, add better historical analytics, support subreddit-specific tuning presets, and give moderators more explainable signals for why a thread or user was flagged.

Built With

Share this project:

Updates