🧠 About the Project: Two Truths and a Lie
🔗 Try It Out
Two truths and a lie subreddit
🎯 Inspiration
"Two Truths and a Lie" is a classic icebreaker game played everywhere from schools to office meetups. It’s a brilliant way to spark conversation, learn quirky facts about others, and break the ice. Reddit is already home to vibrant communities and creative expression, so we thought—why not bring that timeless game to Reddit in an interactive, post-native format?
Our goal was to make it massively social, easy to play, and fun to host. We wanted to give communities a lightweight, zero-effort way to bond over curiosity and clever storytelling.
🛠️ How We Built It
We built the game using Devvit, Reddit’s developer platform, with a focus on Interactive Posts. The tech stack includes:
- Devvit Custom Post Type: For dynamic rendering of game logic within a Reddit post.
- Redis (via Devvit API): To store post metadata, votes, and reveal state.
- Real-time Updates: Keeps voting state current without requiring reloads.
- Post Creation Form: A custom subreddit menu action launches a form for users to submit their two truths and a lie.
- Vote Integrity: Ensures users can only vote once per post using userId tracking.
- Reveal Mechanism: Allows the original poster to reveal the lie at any time.
The post UI dynamically adapts based on whether the user has voted and whether the OP has revealed the answer. Votes are stored and visualized with progress bars and bold counts.
🧩 What We Learned
- How to work with Devvit’s post lifecycle, including
context.redis,context.userId, andcontext.reddit.getCurrentSubreddit(). - Managing per-post state in a stateless frontend model using Redis.
- Designing UX that works seamlessly on both mobile and desktop Reddit.
- Handling asynchronous post initialization, including Redis hydration and user-specific rendering.
🚧 Challenges We Faced
- Accessing post inputs within Devvit's custom post type structure required multiple iterations (props vs inputs vs metadata).
- Implementing secure, one-time vote tracking while maintaining privacy.
- Creating a consistent experience regardless of whether the user is the OP, a voter, or just browsing.
- Rendering randomized statement order consistently per user while preserving vote logic tied to original statement indices.
- Ensuring that Redis-based state persists and syncs properly across user sessions.
💡 Final Thoughts
What started as a simple idea quickly evolved into a highly reusable, community-driven game mechanic. We’ve already seen ideas for applying it in AMAs, mod introductions, community events, and subreddit welcome threads.
This project proves how far Reddit-native interactivity can go with Devvit—and we’re excited to see what communities do with it!


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