Inspiration
On March 4, 2026, Reddit Moderator Toolbox was archived. With it went the in-queue context panel many power moderators relied on for fast triage.
The Cornell CHI 2026 paper “In the Queue: Understanding How Reddit Moderators Use the Modqueue” documented the same pain: moderators often leave the queue mid-review to gather context, collide with each other on the same item, and lose workflow continuity after actions make items disappear.
ModLens was built to bring that missing context back into the queue.
What it does
ModLens is a Devvit-native moderation dashboard that gives mod teams an in-queue evidence layer for every queue-worthy post or comment.
It surfaces:
- User context: account age, karma, activity velocity, removal-rate trend, first-time-poster flags, and a CQS-style account quality tier derived from available signals.
- Real-time collision claims: moderators can claim an item so teammates see who is already reviewing it.
- Safety findings: PII, doxxing, harassment, threats, and related risks.
- AI-slop evidence: account age, karma velocity, template similarity, generic phrasing, cross-account timing, and optional LLM rationale.
- Review workflow: confirm true positives, mark false positives, defer unclear cases, re-scan, or delete incidents.
The default mode is review-only. ModLens assists moderator judgment rather than replacing it.
How we built it
ModLens is built with Devvit Web, TypeScript, React, Hono, Redis, Realtime, Scheduler, and Reddit trigger/menu APIs.
The backend listens to post/comment events, deduplicates trigger deliveries with Redis idempotency locks, resolves user context, then runs safety and behavior checks concurrently. Results are fused into a single QueueItem document indexed by severity, pending status, author, day, and AI-slop band.
The safety pipeline combines deterministic regex validators with Gemini NER, Gemini Vision OCR for images, and optional Google Perspective scoring. Cross-tier validators reject common LLM false positives such as invalid SSNs, failing-Luhn credit cards, and invalid IBANs.
The frontend is a Devvit custom post dashboard with filters, trend stats, queue rows, detail panels, evidence cards, and reviewer actions.
Challenges we ran into
The hardest part was not “adding AI.” It was making the workflow trustworthy.
We had to handle Devvit’s 30-second endpoint limit, at-least-once trigger delivery, external API latency, and false positives around quoted content, ESL writing, typos, and safe contextual mentions. We also designed ModLens so external AI is only one tier in an evidence stack, not a black-box verdict.
Privacy was another major challenge. Incident records expire after 30 days, daily stats contain counts only, deletion triggers remove stored records, logs avoid plaintext PII, and moderators can delete incidents from the dashboard.
Accomplishments that we're proud of
- Built a complete Devvit moderation dashboard with queue filters, detail panels, user context, evidence cards, review actions, and demo seeding.
- Implemented a multi-tier safety pipeline with deterministic validation and structured LLM output.
- Measured 96.2% precision and 100% recall on a 45-case eval corpus against real Gemini calls.
- Added real-time collision claims using Devvit Realtime.
- Shipped a one-click demo seeder so judges can immediately see a populated workflow.
- Kept the project strict TypeScript, with type-check, lint, build, and 79/79 tests passing.
What we learned
Moderation tools win or lose on workflow trust. A powerful detector is not enough. Moderators need context, explanations, low-friction review actions, and easy ways to mark false positives.
We also learned that the post-Toolbox gap is bigger than one feature. Mods need a durable in-queue surface where context, evidence, and team coordination live together.
What's next for ModLens
Next we want to:
- Replace the derived account quality tier with native CQS if/when Devvit exposes it.
- Add richer mod-team calibration tools for false positives and subreddit-specific policies.
- Expand reviewer analytics so teams can see which signals are useful.
- Add opt-in cross-subreddit coordination for repeat safety risks, controlled by moderators.
- Continue refining the dashboard as a practical replacement for the missing Toolbox-style context layer.
Built With
- devvit-realtime
- devvit-scheduler
- devvit-web
- google-gemini-api
- google-perspective-api
- hono
- react
- reddit-developer-platform
- reddit-triggers/menu-apis
- redis
- typescript
- vite
- vitest
- zod
Log in or sign up for Devpost to join the conversation.