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 playtest for live testing, devvit publish for 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?

Built With

Share this project:

Updates