Name That Sub
A daily Reddit deduction game built entirely on live Reddit data.
Players are given real clues from a Reddit post and must guess which subreddit it came from. Guess early for maximum points. Reveal more clues if you're unsure. Come back tomorrow to protect your streak.
Inspiration
The idea started casually. My teammates and I were playing daily guessing games like Rankdle — games built around a simple loop: you get one clue, you make your best guess, and then you compare results and argue about what gave it away. Sometimes the answer felt obvious; other times it was impossible.
That exact loop inspired this project. I wanted a daily guessing game with the same “one prompt, one shot” energy, but powered by live Reddit content: a real comment/post as the clue, and the subreddit as the answer.
That sparked the idea:
Reddit communities have strong identities — and even a single comment often reflects that culture.
I wanted to turn that into a structured, daily experience that felt native to Reddit and updated automatically.
How the Game Works
Each day, the game generates a puzzle using:
- A dynamically selected subreddit
- A real post from that subreddit
- A filtered comment from that post
Clues are revealed in stages:
- Comment only — 100 points
- + Post body — 60 points
- + Title — 30 points
Points follow this structure:
Points follow this structure:
Points =
- 100 if guessed at stage 1
- 60 if guessed at stage 2
- 30 if guessed at stage 3
This creates tension between confidence and safety.
Deterministic Daily Puzzles
To ensure fairness, puzzles are deterministic.
Each day generates a UTC key in this format:
YYYY-MM-DD
That key is combined with the selected mode and used to seed the puzzle:
seed = hash(dateKey + mode)
This guarantees:
- Everyone sees the same puzzle per mode per day
- Different modes generate different puzzles
- The puzzle changes automatically every day
- No hardcoded subreddit lists
Difficulty Modes (Fully API-Driven)
Difficulty is not manually curated. It is determined dynamically using Reddit’s subscriber data:
- Easy → ≥ 1,000,000 members
- Medium → ≥ 10,000 members
- Hard → Any subreddit
Each mode has its own:
- Score
- Streak
- Daily completion state
Players can complete all three modes every day independently.
Technical Challenges
Working with live Reddit data introduced real-world issues:
- Deleted or removed comments
- Comments mentioning the subreddit directly
- NSFW filtering
- Posts with no body text
- Inconsistent subscriber count properties
To handle this, I implemented:
- Multi-field subscriber detection
- Comment filtering to remove obvious giveaways
- NSFW exclusion logic
- Deterministic fallback selection
- Redis-backed per-user state tracking
Each user’s state is stored per mode and per day, including:
- Commit state (locked after first interaction)
- Played flag (points awarded once)
- Completion state (win or loss)
- Streak and total score
This prevents replay abuse while still allowing multi-mode play.
Mobile Challenges
One unexpected challenge was mobile rendering inside the Reddit app.
The desktop version worked immediately. Mobile did not.
Issues included:
- No scrolling
- Hidden input fields
- Viewport locking conflicts
- Safe-area inset problems
The root cause was improper layout locking with position: fixed.
The solution required:
- Reworking scroll containers
- Allowing natural overflow
- Supporting safe-area insets
- Redesigning sticky controls
Fixing this required a deeper understanding of mobile rendering behavior and layout systems.
What I Learned
This project strengthened my understanding of:
- Deterministic content generation
- API-driven systems without hardcoding
- Per-user state modeling
- Handling unpredictable live data
- Mobile-first debugging
- Designing risk/reward game mechanics
It reinforced an important lesson:
A good daily game is not just about logic — it’s about balance, fairness, and controlled unpredictability.
Why It Works on Reddit
Name That Sub feels native because:
- It uses real Reddit content
- It rewards knowledge of Reddit culture
- It updates automatically every day
- It encourages daily engagement
- It promotes discussion
Every day is different.
Every guess is a decision.
Guess the sub. Protect your streak. Come back tomorrow.
Log in or sign up for Devpost to join the conversation.