Inspiration
Reddit moderators are unpaid volunteers managing communities that can receive hundreds of posts a day. In 2025–2026, two forces collided to create a crisis:
- AI-generated content exploded. Bots flood queues with fake articles, AI stories, and coordinated spam at a scale no human mod team can manually review.
- Mod tools haven't kept up. Every existing tool solves one narrow problem — spam filtering, ban evasion detection, auto-removal. None of them address how mod teams work together.
A 2025 academic study of 110 active Reddit moderators confirmed the pain points with hard numbers:
- 74.5% of mod teams experience "collisions" — two mods unknowingly working the same post simultaneously
- A single full moderation action (remove + ban + modmail + mod note) requires navigating 4–5 separate Reddit screens, repeated dozens of times a day
- Inconsistent decisions are rampant — Mod A gives a warning, Mod B bans for 30 days, for the exact same violation type
We built ModBeacon because the problem isn't just spam — it's that mod teams have no coordination layer, no shared decision framework, and no AI assistance. They're fighting a 2026 problem with 2015 tools.
What it does
ModBeacon is a complete mod team coordination platform that lives inside Reddit as a pinned post. No external app. No separate login. Installs in one click and works for any subreddit.
AI Queue Triage — Every post in the queue gets a colored risk chip powered by Gemini 2.5 Flash: LOW, MEDIUM, HIGH, or CRITICAL. Gemini receives the post title, body, author, and report reason, then returns a structured JSON with risk level, risk score 1–10, suggested action template, and full reasoning. Results are cached in Redis for 1 hour. Chips update without any page refresh.
Collision Prevention — When a mod clicks Claim, a pulsing orange indicator appears on the card for the entire team instantly. Any mod who tries to claim the same post gets a toast: "Already claimed by u/username." A Collisions Prevented counter on the Radar tab tracks every blocked double-action across the team.
One-Click Resolve Workflow — A 4-step wizard replaces 4–5 separate Reddit screens with a single button press: Step 1 — AI recommendation, risk score, and AI-generated modmail pre-filled and editable Step 2 — 5 workflow templates; AI-suggested one is pre-selected with a badge Step 3 — Toggle switches for Remove, Ban, Modmail, Mod Note — all on by default Step 4 — Execute fires all selected actions in a single API call
AI Modmail Generation — Gemini writes a complete personalized modmail for every violation, specific to the post content, the author, and the rule broken. The mod edits if needed. Sends automatically on Execute. No copy-pasting. No separate screen.
Team Radar — Live dashboard showing collisions prevented today, total actions, mods active, 7-day impact stats, recent activity feed, and a burnout warning banner if one mod resolves 10+ posts in a single hour. No other mod tool has ever shipped burnout detection.
7-Day Audit Log — Full history of every resolved post: who did it, when, which template, every action taken, and the exact modmail that was sent. Complete accountability for the whole team with zero extra effort.
Works without a Gemini API key — A keyword fallback engine ensures ModBeacon functions fully without any AI configuration. The Gemini key is optional — never a blocker.
Auto-Install — On install, ModBeacon automatically creates a Team Radar Dashboard custom post, approves it, and pins it to position 1. Zero setup required.
How we built it
Built on Devvit — Reddit's official developer framework. Server routing with Hono (TypeScript), AI via Gemini 2.5 Flash REST API, persistent storage via Devvit Redis, client in Vanilla JS bundled with Vite, Reddit actions via the Devvit SDK.
Key architectural decisions:
Redis as the source of truth for presence — claim locks are written as presence keys with the subreddit ID and post ID. The queue API reads all presence keys on every load, returning claimed status and claimedBy for each post. Queue auto-refreshes every 15 seconds so all mods stay in sync without any websocket infrastructure.
Gemini calls are server-side only — the API key is stored in Redis and never exposed to the client. All AI calls go through the Devvit backend, so the key is safe regardless of who installs the app.
Workflow execution is atomic — the execute endpoint receives all action flags in a single POST body, fires all Reddit API calls in sequence, writes the full audit entry to Redis, and unclaims the post in one round trip. No partial states.
Keyword fallback for zero-config deployments — if no Gemini key is configured, AI triage falls back to a keyword scoring engine. Less accurate, but the rest of the app works identically.
Challenges we ran into
Devvit's client/server boundary is strict. Devvit separates the client (webview) from the server (backend) completely. Any Reddit API call has to cross this boundary via message passing. We built a typed message bus so every action has a clear request/response contract.
Redis key design for multi-mod presence. Designing the Redis schema to support real-time presence across multiple mods without stale lock states required careful TTL tuning. Claims that are never released needed automatic expiry without disrupting active sessions.
Gemini prompt engineering for structured JSON. Getting Gemini to return consistent, parseable JSON with the exact fields needed required multiple iterations of prompt refinement. The final prompt explicitly requests a JSON schema and instructs Gemini on what makes a good modmail for each violation category.
Auto-pinning the dashboard post. Pinning a post on install involves timing: the post has to be created, approved, pinned, and its ID stored in Redis — all before any mod opens the app. Race conditions on first install were the trickiest bugs to track down.
Accomplishments that we're proud of
Six real mod problems solved in one dashboard — not a single-feature tool.
Real Gemini AI integration — not keyword matching dressed up as AI, with a keyword fallback that ensures the app works even without a key.
Zero setup required — auto-installs, auto-pins, works on first open with no configuration needed.
Burnout detection — a burnout warning that fires if one mod resolves 10+ posts in an hour. No mod tool has ever shipped this feature before.
Full audit trail — every action logged with the modmail text, making the team accountable without adding any friction to the workflow.
Atomic workflow execution — Remove, Ban, Modmail, and Mod Note all fire in a single API call. No partial states, no half-completed actions.
What we learned
Building inside Devvit's sandboxed environment forced us to think differently about state management. In a traditional web app, you'd reach for a database and a REST API. In Devvit, Redis is your database, message passing is your API layer, and every operation has to account for the fact that multiple mods might be triggering it simultaneously. This constraint actually made the architecture cleaner — there's no ambiguity about where state lives.
We also learned that mod pain points are more emotional than technical. The burnout banner took 20 lines of code. The AI modmail generation required weeks of prompt engineering. But when real mods saw both features, they mentioned the burnout banner first. The small, human touches matter as much as the technical sophistication.
What's next for ModBeacon
Realtime presence via Devvit Realtime — replace the 15-second polling with true websocket presence so claim indicators update in under a second.
Cross-subreddit Radar — mods who moderate multiple communities can see stats across all of them in one view.
Appeal workflow — a separate tab for managing ban appeals with AI-drafted responses.
Community health scoring — weekly AI analysis of moderation patterns to surface emerging spam coordinations before they hit the queue.
Reddit Developer Funds — ModBeacon will be submitted for ongoing Developer Funds support after the hackathon to sustain long-term development.
Built With
- devvit
- gemini-2.5-flash
- hono
- javascript
- redis
- typescript
- vite
Log in or sign up for Devpost to join the conversation.