Inspiration

Reddit is already the internet's largest courtroom—millions judge strangers daily in r/AmITheAsshole. We asked: What if we gave them an actual gavel?

The Pivot

We started with an ambitious vision: a multi-modal AI experience with real-time generated artwork, professional voiceovers, and cinematic production. When Reddit's platform constraints made this impossible, we didn't scale back—we innovated around them. The result? A dual-architecture system that works seamlessly on Reddit and as a standalone web app, preserving 90% of our vision through clever engineering.

What it does

Reddit Jury transforms passive moral debates into active judicial experiences. You're not just reading—you're presiding.

The Experience

  • Daily Docket: Fresh moral dilemmas from our library of 100+ immersive cases
  • Evidence Discovery: Interactive exhibit examination with progressive revelation
  • The Gavel: Physics-based voting mechanic that makes decisions feel weighty
  • Judicial Opinions: Satirical legal rulings that reveal moral complexity
  • Director's Mode: One-click video creation with automated narration for social sharing
  • True Offline Mode: Full functionality without internet—play anywhere, anytime

The Innovation

Unlike typical web games, we built a system that adapts to its environment—full-featured on Reddit with backend AI, fully functional as a standalone app with zero dependencies.

How we built it

The Architectural Challenge

We needed to build two complete systems that share the same codebase but work in fundamentally different environments.

Our Solution: The Hybrid Architecture

Reddit Version (Server-Side)

  • Devvit custom posts with Redis state management
  • Server-side AI generation for dynamic content
  • Real-time vote aggregation across users

Standalone Version (Client-Side)

  • localStorage-based persistence
  • Client-side case library (100+ pre-written scenarios)
  • Browser-native TTS for narration

The Bridge

  • 95% shared React codebase
  • Intelligent abstraction layers detect environment
  • Automatic fallback chains ensure zero downtime

Key Innovations

  • Virtual Camera System: Built a custom recording engine that tracks UI state and generates cinematic videos
  • Zero-Cost TTS: Replaced expensive AI voices with browser-native synthesis that sounds surprisingly good
  • Progressive Enhancement: Features gracefully degrade based on available resources
  • Dual Deployment: Single git push deploys to both Reddit and Vercel

Challenges we ran into

The Platform Reality Check

Reddit's Devvit sandbox doesn't support:

  • External API calls beyond strict limits
  • Client-side media generation
  • Heavy computational workloads
  • Traditional backend architectures

Our Response: Build Two Apps in One

Instead of compromising features, we:

  • Architected for Flexibility: Created abstraction layers that detect the runtime environment
  • Embraced Browser APIs: Replaced expensive services with native capabilities (TTS, MediaRecorder, Web Audio)
  • Pre-Generated Content: Built a curated library of 100+ cases with pre-written verdicts for all outcomes
  • Intelligent Caching: Implemented aggressive client-side caching to minimize API calls
  • Graceful Degradation: Every feature has a fallback—users never see errors

The Result

A game that works perfectly on Reddit and as a standalone web app, with minimal code duplication.

Accomplishments that we're proud of

  • 🏗️ Dual-Architecture Mastery Built two complete deployment strategies (Reddit + Vercel) from a single codebase—a feat that required rethinking every architectural decision.

  • 🎬 Director's Mode Innovation Created an automated video recording system that works within browser sandbox constraints—complete with virtual camera tracking and synchronized narration.

  • ⚖️ The Physics of Justice Engineered a voting mechanic that feels consequential through careful physics tuning and audio design.

  • 🌐 True Platform Independence Achieved 100% offline functionality without sacrificing features—the game works on a plane, in a tunnel, or during API outages.

  • 🎨 Constraint-Driven Design Turned platform limitations into creative opportunities—browser TTS became a feature, not a compromise.

  • 📦 100+ Case Library Curated and wrote immersive scenarios with multiple evidence paths and unique verdicts for every outcome.

What we learned

  1. Constraints Unlock Creativity Reddit's limitations forced us to innovate in ways we never would have with unlimited resources. The dual-architecture solution is better than our original vision.

  2. Architecture is Strategy The ability to pivot technical approaches mid-project is as valuable as the initial design. Flexibility beats perfection.

  3. Browser APIs are Underrated Native capabilities (TTS, MediaRecorder, Web Audio) can replace expensive external services—and sometimes work better.

  4. Offline-First is User-First Building for offline forced us to create robust fallbacks that improved the online experience too.

  5. One Codebase, Multiple Platforms With careful abstraction, you can deploy the same app to radically different environments without code duplication.

  6. "Good Enough" Can Be Great Browser TTS isn't perfect, but its imperfections add charm and personality to the experience.

  7. Document Your Pivots Our dual-architecture approach became our strongest selling point—the pivot is the innovation.

What's next for Reddit Jury: Supreme Court

Immediate Roadmap

  • 👥 Multiplayer Juries: Real-time deliberation lobbies with live voting
  • 📝 Community Cases: User-submitted scenarios with moderation queue
  • 🎨 Visual Overhaul: LCARS-inspired sci-fi legal interface
  • 🔗 r/AITA Integration: Auto-import real Reddit posts as cases

Long-Term Vision

  • 🌍 Cross-Platform Expansion: Native mobile apps with offline-first architecture
  • 🎲 Procedural Generation: Dynamic evidence that changes based on player decisions
  • 🏆 Competitive Seasons: Leaderboards and ranked play
  • 🎙️ Voice Integration: Real-time voice deliberation for multiplayer mode

The Architecture Advantage

Because we built for flexibility from day one, adding these features won't require rebuilding—just extending our existing abstraction layers.

Key Message

This project isn't about using the latest AI models—it's about building smart systems that adapt to constraints and deliver exceptional experiences regardless of platform limitations.


Built With

  • gemini-2.5-flash-image
  • gemini-2.5-flash-tts
  • gemini-3-flash
  • google-gemini-api
  • html5
  • media-stream-api
  • react
  • reddit-devvit
  • redis
  • tailwindcss
  • typescript
  • web-audio-api
  • web-speech-api
Share this project:

Updates