Inspiration
ReditFirstPro started from a simple pain point: moderators need fast, reliable ways to collect evidence, take structured notes, and create auditable incident records without leaving Reddit. I wanted a tool that felt native to mod workflows, reduced context switching, and made escalation and review straightforward.
What It Does
ReditFirstPro provides:
- Structured note-taking and searchable records.
- Linked evidence and case-building tools for incidents.
- Lightweight incident creation, status tracking, and audit logs.
- A compact single-page UI that runs inside the playtest subreddit for quick iteration.
How We Built It
- Frontend: React + TypeScript, Vite for builds, TanStack Query for server-state caching.
- Backend: tRPC-powered API running in the Devvit/playtest runtime with a Firestore-backed service (simulated for playtest).
- Devflow:
devvit playtestfor live testing,devvit publishfor releases, plus seed scripts to populate demo data. - Key integrations: Devvit reddit runtime for in-place UI, TRPC for end-to-end typed APIs, and an in-memory Firestore simulator for predictable tests.
Challenges We Ran Into
- Playtest idempotency: multiple install/upgrade triggers could create duplicate app posts — required adding a process-level guard to avoid duplicate posts during rapid triggers.
- Simulated vs. real Firestore: keeping behavior consistent when the service account is not present required careful abstraction and migration-safe seeds.
- Attribution during playtest: unapproved app versions require fallbacks so user-scoped actions behave sensibly in pre-release modes.
Accomplishments That We're Proud Of
- A compact, usable UI that fits moderator flows and surfaces audit data without noise.
- Robust seed and test harnesses making manual playtest and CI reproducible.
- Cross-environment compatibility: works with simulated Firestore during dev and real Firestore in production with minimal config changes.
What We Learned
- Fast iteration on platforms like Devvit benefits from defensive runtime checks (e.g., idempotent post creation) to make playtest sessions reliable.
- Small, well-typed APIs (tRPC + TypeScript) dramatically reduce integration bugs between client and server.
- For mod tooling, UX clarity (fewer clicks) beats feature bloat — speed matters more than bells and whistles.
A tiny formula we used to reason about seed cost vs. playtest responsiveness: $$T(N) = T_0 + k \cdot N$$ where $T(N)$ is total seed time, $T_0$ is fixed setup overhead, $N$ is number of seeded demo items, and $k$ is per-item cost — so we keep $N$ minimal for quick playtests.
What's Next for ReditFirstPro
- Improve persistent storage migrations and optionally enable full Firestore CI tests.
- Add per-subreddit settings and role-aware features for multi-moderator workflows.
- Expand audit exports and add optional integrations for moderator reports.
- Polish the onboarding flow so moderators can install and start triaging in under 60 seconds.
If you want, I can generate a short README-ready “About” file using this content and add it to the repo. Would you like that?
Log in or sign up for Devpost to join the conversation.