Pulse Monitor
"The first mod tool that sees your team, not just your queue."
Inspiration
Every mod tool ever built has the same silent assumption baked into it — that moderators are queue processors. Remove. Approve. Ban. Repeat. The tools are functional, grey, and completely indifferent to the human sitting behind them.
We looked at the entire Devvit ecosystem — 30+ apps — and realised something that nobody had said out loud: not a single one acknowledges that moderators have teammates.
When a mod opens Reddit today, they are completely invisible to every other mod on their team. They don't know who's online. They don't know if someone already actioned that report. They don't know if they're carrying 90% of the load while their co-mod hasn't logged in for three days. The silence is total.
Thousands of subreddits go dark every year — not because of bad rules or spam waves — but because mods burn out in isolation. They quit a job nobody could even see them doing.
That was the spark. Not a feature gap. A humanity gap. Pulse exists because mods deserve to feel like a team, not a machine.
What It Does
Pulse is a real-time mod team presence and coordination layer — the first of its kind on Devvit. It lives in two places: a full dashboard as a pinned post, and a quick-access panel in the mod menu.
Open Pulse and in three seconds you know:
- Which of your mods are online right now (glowing avatars, live)
- What each of them just did (live activity feed, no refresh needed)
- Which queue items are already being handled (claims board)
The six core features:
🟢 Live Mod Presence — Every active mod appears as a glowing avatar. Green ring means online, amber means away, grey means offline with a last-seen timestamp. Powered by a Redis TTL heartbeat — no polling, no delays.
🎯 Queue Item Claiming — Any mod can tap "I'm on it" on a queue item. Every other mod sees it claimed instantly. Auto-releases after 15 minutes of inactivity. Double-actioning the same item becomes impossible.
📡 Live Activity Feed — Every mod action (remove, approve, ban, flair, lock) fires an event to the feed in real time. The feed is the heartbeat of the team — when it moves fast, the team is active. When it goes quiet, someone notices.
😄 Emoji Reactions — Mods can react to each other's actions in the feed. A 👍 on a tough removal. A 💪 after a spam wave. Tiny moments of acknowledgement that make a thankless job feel a little less thankless.
📝 Shift Handoff Notes — Structured notes with urgency flags (🔴 🟡 🟢), user tagging, and linked posts. Write a note on one account — it appears on every other mod's screen the moment you hit submit. Notes auto-archive after 24 hours.
📊 Workload Balance — A live chart showing how many actions each mod has taken in the current session and the past 7 days. Makes invisible imbalance visible. Gives team leads something real to act on.
How We Built It
Pulse is built entirely on Devvit — no external infrastructure, no third-party services for core features.
The stack:
- Devvit WebView — Full custom HTML/CSS/JS dashboard. Dark theme, glowing CSS animations, smooth transitions. Every pixel intentional.
- Devvit Realtime Channels — The pub/sub backbone of Pulse. Activity events, claim updates, presence changes, and shift notes all broadcast through realtime channels to every connected mod client simultaneously.
- Devvit Redis — The persistence layer. Presence heartbeat keys with 90-second TTL, claim keys with 15-minute TTL, activity sorted sets with 24-hour rolling windows, shift note stacks, workload counters.
- Devvit Event Triggers — Intercept mod actions (post removal, comment approval, bans) at the platform level to fire activity feed events without mods needing to do anything extra.
- Devvit Scheduler — Periodic cleanup of expired claims, note archival, and daily digest jobs.
- Devvit Menu Items — The quick-access mod panel, gated to moderators only using Devvit's permission system.
The presence system was the most technically interesting problem. True "who is online right now" presence requires a heartbeat — a signal every 30 seconds saying "I'm still here." We implemented this with Redis TTL keys: a key exists = mod is online, key expires = mod goes offline. When any heartbeat fires, a broadcast goes to the pulse:presence realtime channel, and every connected client updates simultaneously. No polling. No stale state.
The Redis schema is fully scoped per subreddit — no data crosses community boundaries:
pulse:presence:{username} → String, 90s TTL
pulse:claim:{postId} → Hash, 15min TTL
pulse:activity:{subreddit} → Sorted Set, 24h window
pulse:notes:{subreddit} → Sorted Set, manual archive
pulse:workload:{username}:{date} → Integer, 8 days
pulse:reactions:{eventId} → Hash, 24h
Challenges We Ran Into
Making the WebView look beautiful inside Reddit's constraints was the hardest problem we didn't anticipate.
Reddit's WebView environment has strict rendering constraints — no external fonts by default, limited CSS variable access, unpredictable sizing across platforms, and a sandboxed JS context that doesn't behave like a normal browser tab. Building a dark-themed, animated, glowing UI that felt premium inside those walls took far longer than the underlying logic.
We went through four complete design iterations. The presence avatars with the pulsing CSS ring animation broke on mobile Reddit's WebView. The activity feed's scroll behaviour conflicted with Reddit's native scroll handling. The colour system had to be rebuilt around Devvit's CSS variable tokens rather than hardcoded hex values.
Every time we thought the UI was done, we'd open it on a different surface — mobile app, desktop browser, old Reddit wrapper — and something would be broken or ugly. The final version is the result of testing on every surface we could find and fixing each one individually.
The irony: the feature that was meant to be purely aesthetic ended up being the most technically demanding part of the entire build.
Accomplishments That We're Proud Of
The shift note moment. During testing, we were running two accounts in separate browsers. One of us typed a shift note — "Watch u/testuser — possible evader 🔴" — and hit submit. On the other browser, it appeared instantly. No refresh. No delay. Just there.
We stopped and looked at each other. That was the moment Pulse stopped being a technical project and became something real. That note, appearing on a co-mod's screen in real time, is exactly the thing that mods have never had. It's small. It's human. It works.
Beyond that moment:
- Zero infrastructure cost — Pulse runs entirely on Devvit's built-in Redis and realtime system. No external servers, no hosting fees, no maintenance burden for mod teams.
- Mod-only by default — Every Pulse surface is invisible to regular users through Devvit's permission gating. Judges and regular visitors see nothing.
- Dual surface design — The full dashboard for deep use, the mod menu panel for quick glances. One app, two contexts, no friction.
- The design — We're genuinely proud that Pulse looks nothing like any other Devvit app. It feels like it belongs in 2026.
What We Learned
Presence is a harder problem than it looks. Building the feeling of "someone is here" requires more than a database flag. You need heartbeats, expiry logic, broadcast timing, and graceful degradation when connections drop. The gap between "technically works" and "actually feels live" took days to close.
Design constraints are design opportunities. Reddit's WebView limitations forced us to solve problems in ways we wouldn't have chosen freely — and some of those forced solutions ended up being better than what we'd have built otherwise. The CSS variable-based colour system that Devvit requires actually made our dark theme more consistent and maintainable.
The best tools solve emotional problems, not just functional ones. Every decision we made — the glowing avatars, the emoji reactions, the warm workload chart, the instant shift notes — was driven by asking "how does this make the mod feel?" rather than "what does this do?" That question changed every design choice we made.
Realtime is addictive. Once you've seen an activity feed update live across two browsers, polling feels barbaric. We built Pulse realtime-first and it shaped everything else.
What's Next for Pulse Monitor
Pulse is live and installable today. The roadmap is driven entirely by what mod teams tell us they need next.
Near-term (next 30 days):
- Smart alerts — In-app banner when the queue exceeds a configurable threshold or no mod has been active for 30+ minutes
- Timezone awareness — Each mod avatar shows their local time; a 24-hour coverage grid surfaces gaps in team coverage across timezones
- Discord/Slack bridge — Push Pulse activity events to an existing team webhook for mods who coordinate externally
Medium-term:
- Mod contribution milestones — Quiet, opt-in personal milestones ("100 actions this month", "7-day streak") — acknowledgement, not gamification
- Shift scheduler — A simple weekly coverage grid where leads assign slots and mods see whose shift it is
- Cross-sub presence — For mod teams running multiple communities, a unified Pulse view across their whole network
Longer-term:
- Monthly team report card — Auto-generated summary: actions taken, rules most broken, queue response times, team health score
- Reddit Developer Funds — Pulse is designed to reach the engagement milestones that qualify for ongoing Reddit developer funding, making it sustainable long-term
The goal is simple: make moderation feel less like working alone in an empty building, and more like showing up to a place where your team is already there.
Built for the Reddit Mod Tools & Migrated Apps Hackathon 2026. Category: Best New Mod Tool
Built With
- devvit
Log in or sign up for Devpost to join the conversation.