🧠 About the Project — ThatWasCorrect

🚀 Inspiration

The idea for ThatWasCorrect came from the desire to reimagine trivia as a real-time, skill-based battle arena rather than a passive quiz app. I’ve always loved the excitement of live quiz shows and the tension of one-on-one gaming — and wanted to merge them into a platform where intelligence itself becomes a weapon. The goal was simple: make every correct answer feel like a victory.

🏗️ How I Built It

The entire project was built using Reddit’s Devvit framework, leveraging its server runtime for all backend logic and real-time duel channels for interactive gameplay.

  • Duel Channels: Each match connects two players to dedicated channels — one for live chat and another for server updates (for instant duel requests, challenge notifications, or hidden server-client events).
  • Server Logic: Managed through Devvit’s server environment, ensuring fast, secure, and persistent communication between players and the quiz engine.
  • Database: PostgreSQL schema designed for scalability — handling users, duels, submissions, achievements, missions, and more.
  • Frontend: Built for speed and fluidity, featuring responsive design, mission tracking, and animated battle feedback.

💡 What I Learned

Through ThatWasCorrect, I learned how to design real-time communication systems within Devvit’s server architecture — balancing message flow, optimizing duel matchmaking, and managing concurrent updates efficiently. It also deepened my understanding of state synchronization and event-driven backend patterns, while reinforcing good schema normalization and modular code practices.

⚙️ Challenges Faced

Some of the biggest challenges included:

  • Creating instant yet secure duel notifications across clients using Devvit channels.
  • Managing state consistency during simultaneous updates and duel requests.
  • Ensuring low-latency communication without traditional WebSocket servers.
  • Maintaining game fairness and preventing desync or exploit attempts in live duels.

🧩 Bonus — Behind the Scoring Logic

Each question’s score is calculated dynamically based on accuracy, speed, and difficulty: [ \text{Final Score} = (A \times D) + \frac{S}{2} ] where ( A ) = Accuracy, ( D ) = Difficulty Level, and ( S ) = Response Speed (ms).

Every fraction of a second matters — because in ThatWasCorrect, knowledge isn’t just power, it’s precision.

Built With

Share this project:

Updates