-
TimeFrame logo
-
Splash screen
-
Guess phase.
-
Score phase
-
Summary phase. See you final results and get some context for the frames.
-
Stats summary. Compare your results with other players that have played the same game.
-
Stats summary. Compare your results with other players that have played the same game.
-
Leaderboards. Compare yourself with other players in the subreddit.
Inspiration
I’ve always liked “guess the year” style games, and I previously built a web app with the same core mechanic. What it lacked was the depth and reach that a platform like Reddit can provide especially with communities like r/HistoryPorn and r/history constantly sharing compelling historical photos and context.
What it does
TimeFrame is a photo-based guessing game where players try to guess the year a historical photo was taken. The game flow is as follows:
- 🖼️ A historical photo appears each round (5 rounds total).
- 🔍 Study visual clues (clothes, cars, buildings, technology).
- 🕒 Guess the year before time runs out (20 seconds per round).
- 🎯 The closer your guess, the more points you earn (up to 100 per image; 2 points per year).
- 📊 Finally, see your final score and compare your stats with the rest of the player base.
How I built it
TimeFrame is built as a Reddit-first experience using a following web stack:
- Devvit
- Vite + React
- TypeScript
- Tailwind CSS
- Express.js for backend APIs and game logic/data handling
The images were collected and curated manually from various sources, primarily from subreddits such as r/HistoryPorn and r/history. A big focus was making gameplay feel smooth and satisfying tight rounds, quick feedback, and a flow that works well inside Reddit.
Challenges I ran into
The hardest part by far was data collection and validation. Finding “good game frames” isn’t as simple as grabbing any nice looking historical image. The images need to be:
- ✅ Safe for play (no obvious giveaways like giant dates in captions/watermarks, and appropriate content)
- 🔎 Actually verifiable (the year needs to be accurate, not a vague estimate)
- 🧩 Consistently formatted (usable title/context and clean framing)
That meant spending a lot of time searching, cross-checking years/titles, and rejecting images that weren’t fair or didn’t meet quality standards. Curation took significantly more effort than building the initial gameplay.
Accomplishments that I am proud of
- Turned a simple idea into a polished Reddit-native game with better gameplay than I expected going in
- Built a full stack implementation (frontend + backend + Reddit integration)
- Created a curated dataset of playable historical photo “frames,” despite how time-consuming it was
- Used AI tools effectively (Claude Code) to speed up iteration, improve UX, and refine implementation details
- Designed the project with a path toward becoming community-driven
What I learned
- Content curation is a product problem, not just a data problem. A “good” image is about clarity and fun not only correctness.
- Platform context matters. Building for Reddit means gameplay flow, pacing, and UI choices need to feel native to how Reddit users interact.
- TypeScript + a clear component structure pays off quickly once the game grows beyond a prototype.
- AI assisted development is strongest when used for iteration and refinement, not just generating code especially for UX improvements and edge cases.
What's next for TimeFrame
The next steps are all about making TimeFrame more engaging and community powered:
- User submissions + voting pipeline
- Let users upload images as potential candidates
- Mods and/or the community vote on whether an image is a good fit
- A queue/review system to maintain quality and fairness
- Daily games with their own themed sets (e.g., famous people, historic figures, specific eras, wars, technology, architecture)
Built With
- devvit
- express.js
- react
- tailwind
- typescript
- vite
Log in or sign up for Devpost to join the conversation.