Inspiration

Large Reddit communities face constant moderation pressure from spam waves, scam campaigns, coordinated abuse, fake giveaways, phishing attempts, and sudden report floods. Most moderation workflows today are reactive. Moderators switch between queues, reports, modmail, and multiple tools while harmful content spreads in realtime. We wanted to solve that problem by creating a unified moderation command center directly inside Reddit. ModCommand was inspired by realtime security operations centers used in cybersecurity and incident response teams. We asked a simple question:

“What if Reddit moderators had a live operational dashboard built specifically for realtime community defense?” That idea became ModCommand.

What it does

ModCommand is a realtime moderation command center built natively with Devvit. It continuously monitors subreddit activity and detects:

  • Spam waves
  • Report spikes
  • Suspicious keyword attacks
  • High-risk escalation events
  • Coordinated moderation incidents
Capability What it solves
Fire Radar Automatically detects spam waves, report spikes, keyword threats, and flagged content the moment they appear
Triage Queue Prioritizes flagged content into Critical / High / Standard lanes with heuristic scoring so mods work the most important items first
Claim system Lets a mod claim a triage item to signal "I have this" — preventing duplicate effort
Defuse One-click remove + lock directly from the dashboard or any post/comment context menu
Audit Trail Logs every moderation action with timestamp, moderator, and undo capability
Mod Team panel Shows active moderator status and action counts, updated in real time
Community Health 7-day rolling metrics: fires/day, queue volume, response time, average handle time
Realtime sync All dashboard panels refresh via live channel events; no polling required

Everything updates live inside Reddit without external dashboards or third-party services.

How we built it

We built ModCommand entirely with Reddit Devvit and TypeScript.

Core architecture includes:

  • Devvit custom posts for the live dashboard
  • Redis-backed persistent state storage
  • Realtime channel synchronization
  • Trigger-based moderation event detection
  • Priority-scored triage workflows
  • Configurable moderation policies
  • Native Devvit Blocks UI components

Detection systems monitor:

  • Post submissions
  • Comment submissions
  • Report events
  • Posting velocity
  • Keyword matches
  • Escalation thresholds

All moderation actions are synchronized instantly across active moderator sessions. The system was designed to feel like a realtime operations center running directly inside Reddit.

Architecture

Reddit Platform
│
├── PostSubmit ────────► onPost.ts
│                           ├── Keyword scan (KEYWORD_MATCH list)
│                           ├── Flag scan (high-severity keyword list)
│                           ├── Spam wave detector (post velocity, 2-min window)
│                           └── Report-spike demo trigger (RPT keywords)
│
├── CommentSubmit ─────► onComment.ts
│                           ├── checkUserVelocity()   — ≥ 5 comments / 10 min
│                           └── checkDuplicateText()  — same body ≥ 3× / 5 min
│
├── PostReport ────────► onReport.ts
└── CommentReport ─────► onReport.ts
                            └── checkReportSpike()    — ≥ 3 reports / 10 min
                                                             │
                                              ┌──────────────▼──────────────┐
                                              │         fireAlert()          │
                                              │  recordAlert() → Redis zset  │
                                              │  incrementStat() → Redis hash│
                                              │  realtime.send(FIRE event)   │
                                              └──────────────┬──────────────┘
                                                             │
                                              ┌──────────────▼──────────────┐
                                              │      addTriageItem()         │
                                              │  Priority + score assigned   │
                                              │  Stored in Redis sorted set  │
                                              └──────────────┬──────────────┘

Moderator context-menu action (Defuse / Claim / Release)
│
├── runDefuse()    → remove() + lock() + incrementStat() + addAuditAction()
│                    + recordModAction() + realtime.send(AUDIT)
├── runClaim()     → setClaim() + realtime.send(CLAIM)
└── runRelease()   → releaseClaim() + realtime.send(RELEASE)
                                                             │
                                              ┌──────────────▼──────────────┐
                                              │     Dashboard.tsx            │
                                              │  useChannel (CLAIM/RELEASE/  │
                                              │    FIRE/AUDIT) → re-render   │
                                              │  useInterval 5s → refresh    │
                                              │                              │
                                              │  ┌─ Fire Radar (4 channels) ┐│
                                              │  ├─ Triage Queue             │
                                              │  ├─ Mod Team Status          │
                                              │  ├─ Community Health (7d)    │
                                              │  └─ Audit Trail (last 50)   ┘│
                                              └─────────────────────────────┘

Challenges we ran into

One of the biggest challenges was building reliable realtime synchronization across multiple moderator sessions. We also had to solve:

  • Infinite render loop issues
  • State consistency during live updates
  • Queue synchronization conflicts
  • Defuse/restore lifecycle handling
  • Realtime Redis event coordination
  • Threshold tuning for spam and report spikes
  • Maintaining clean UI performance under heavy event loads Another challenge was designing a moderation workflow that remained powerful without becoming visually overwhelming. Balancing operational depth with simplicity took multiple redesigns.

Accomplishments that we're proud of

We are proud that ModCommand feels like a true production-grade moderation platform instead of a hackathon prototype. Key accomplishments include:

  • Fully realtime moderation synchronization
  • Native Reddit integration with Devvit
  • Working threat detection pipelines
  • Configurable moderation controls
  • Collaborative triage workflows
  • Reversible moderation actions
  • Live diagnostics system
  • Mobile-compatible dashboard experience
  • Stable performance under high activity loads Most importantly, we created a tool moderators can immediately understand and use.

What we learned

This project taught us how powerful Devvit can be for building realtime community infrastructure directly inside Reddit.

We learned:

  • Advanced realtime state synchronization
  • Large-scale moderation workflow design
  • Event-driven architecture patterns
  • Redis coordination systems
  • Devvit custom post capabilities
  • Operational dashboard UX design
  • Live collaboration workflows We also learned that moderation is fundamentally a coordination problem, not just a filtering problem. The best moderation tools help teams respond together in realtime.

What's next for ModCommand - Realtime Moderation Command Center

Our next goal is transforming ModCommand into a complete realtime moderation infrastructure layer for Reddit communities.

Planned features include:

  • Cross-subreddit threat intelligence
  • Moderator collaboration channels
  • Advanced analytics and trend mapping
  • Automated escalation workflows
  • Threat heatmaps
  • Historical moderation replay
  • Custom moderation playbooks
  • Mobile-first operations mode
  • Community risk scoring
  • Large-scale moderation orchestration

We believe moderation tools should not just remove harmful content. They should help communities stay healthy before problems escalate. ModCommand is our vision for the future of realtime Reddit moderation.

Built With

  • context-menus
  • custom-posts
  • devvit-blocks-ui
  • event-triggers
  • native
  • realtime-channels
  • realtime-synchronization
  • reddit
  • redis
  • redis-persistence
  • typescript
Share this project:

Updates