🧠 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
- cloudflare
- devvit
- node.js
- sql
- worker

Log in or sign up for Devpost to join the conversation.