-
AI-powered mod queue triage — auto-scores every report as Critical, Review, or Low so mods always know what needs attention first.
-
Ranked mod queue filtered by severity. Each item shows AI reasoning, report count, and a direct link to act immediately.
-
Report arrives → Devvit trigger fires → Claude Haiku scores it → stored in Redis → dashboard updates instantly.
Inspiration
Reddit moderators are the unsung heroes of every community — but they're drowning. Large subreddits receive hundreds of reports daily, yet the default mod queue shows everything in chronological order. A critical doxxing post can sit unactioned for hours while mods clear through dozens of "I disagree with this comment" false reports. There's no way to know what's urgent without reading every single item. We built TriageMod to fix that.
What it does
TriageMod automatically scores every reported post and comment by severity the moment it arrives — so moderators always know what needs attention first.
Every item gets one of three scores:
| Score | Meaning |
|---|---|
| 🔴 Critical | Act immediately — harassment, doxxing, hate speech, illegal content |
| 🟡 Review | Needs mod judgment — borderline violations, rule ambiguity |
| 🟢 Low | Likely false report — disagreements, meta-complaints |
Each score includes a one-sentence AI explanation so mods understand the reasoning at a glance. Key features include:
- Real-time auto-triage — scores new reports the moment they arrive via Devvit event triggers
- Visual dashboard — a ranked custom post showing the full queue, filterable by severity tier
- On-demand scoring — right-click any post or comment → "TriageMod: Score this" for instant results
- Mod action sync — approvals and removals automatically clear items from the triage queue
- Background refresh — scheduled job rescores the full queue every 15 minutes
- Zero-config install — works out of the box with no setup; Anthropic API key optional for enhanced AI scoring
How we built it
TriageMod is built entirely on Devvit using TypeScript. The architecture relies on:
- Devvit event triggers (
PostReport,CommentReport,PostRemove,PostApprove) for real-time sync with Reddit moderation events - Devvit scheduler running a background refresh job every 15 minutes
- Devvit Redis with a sorted set (score = severity level) for instant ranked queue retrieval
- Claude Haiku via Anthropic API for AI severity classification, returning structured JSON for reliable parsing
- Devvit custom post with Blocks UI for the interactive filterable dashboard
- Devvit settings with
isSecret: truefor secure encrypted API key storage
Challenges we ran into
The biggest challenge was making scoring fast enough to run on every incoming report without timing out. We solved this by using Claude Haiku (the fastest model) and engineering a hard fallback to keyword heuristics if any API call fails — so the queue is never left unscored regardless of external conditions.
The second challenge was the dashboard UX. Devvit's Blocks UI has constraints on scrollable viewports and dynamic state updates. Getting the filtered queue to render smoothly with live severity counts required careful state management using useState and useAsync, and several iterations to get right.
Accomplishments that we're proud of
- A fully working real-time triage pipeline that fires on actual Reddit report events
- A clean, filterable dashboard that mods can understand in under 10 seconds
- A resilient scoring system that degrades gracefully — no API key needed, no single point of failure
- An architecture that scales from small hobby subreddits to subreddits with millions of members without any configuration changes
What we learned
Building on Devvit showed us how powerful native Reddit integration is compared to external bots. The trigger system — firing on real Reddit events like reports and removals — gives Devvit apps capabilities that PRAW bots simply cannot replicate reliably. TriageMod would be fundamentally impossible as a traditional external bot. The platform's Redis and scheduler primitives also made building a reliable background processing pipeline surprisingly straightforward.
What's next for TriageMod
- Bulk actions from the dashboard — approve or remove multiple low-severity items in one tap
- Per-subreddit rule mapping — teach TriageMod your specific rules for higher accuracy
- Coordinated attack detection — alert mods when a sudden reporting wave pattern is detected
- Mod analytics — track which severity tiers each mod handles and surface early burnout signals
- Reddit Toolbox integration — surface usernotes alongside triage scores for full context
Built With
- anthropic
- claude
- devvit
- node.js
- redis
- typescript
Log in or sign up for Devpost to join the conversation.