Inspiration
ArtifactGuesser was born from a love for popular geographical discovery games. Originally, I set out to build a "Subreddit Popularity Guesser" where players would guess which global regions were most active in different subreddits. However, we quickly ran into a wall: Reddit doesn't expose regional user popularity data for privacy and API limitations.
After receiving some insightful feedback, we decided to pivot. We took the core mechanic of geographical mapping and chronologically anchored it, shifting our focus to historical art and world archaeology. This allowed us to create a trivia game where players guess the origin and era of cultural treasures.
What it does
ArtifactGuesser is a daily art history appraisal challenge. Each day, players are presented with a collection of five ancient relics and artworks:
- Map Estimation: Pinpoint the precise geographic region where the artifact was created.
- Timeline Estimation: Drag a timeline selector to estimate the creation year (from 3000 BCE to 2000 CE).
- Rankings: Compete for points (max 5,000 daily) on a unified subreddit-wide leaderboard.
- Appraisal Sharing: After finishing, players can programmatically publish a new custom post showing their "Appraisal Certificate" with score and margin details, inviting other community members to play.
How we built it
The project is built on the Reddit Devvit developer platform using a clean client-server architecture:
- Frontend: React, Tailwind CSS v4, and custom CSS scrollbars and slider track overlays for a premium, warm museum aesthetic.
- Backend: Node.js v22 serverless environment using a Hono router.
- Database: Reddit Redis for session states, subreddit leaderboards, and certificate post mappings.
- Bundling: Compiled using Vite.
Challenges we ran into
One of our main technical hurdles was asset loading and paths inside sandboxed webview iframes. Because Reddit dynamically executes scripts, absolute paths resulted in CORS/404 errors. We had to implement relative asset configuration and a self-healing server cache to dynamically override cached Redis URLs on older daily play sessions. We also had to solve cross-platform shell issues to ensure the build pipeline runs perfectly on any system.
Accomplishments that we're proud of
- ** Tactile UI Feedback**: A custom, interactive world map with dynamic path styling and a clean chronological year-selection slider.
- Certificate Integration: A seamless post-spawning mechanic that creates playable certificate posts without interrupting active user runs.
- Secure Session Locks: A robust daily play session lock that globally prevents users from replaying the same daily questions across multiple shared posts.
What we learned
We learned a great deal about Devvit's Content Security Policy (CSP) and how sandboxed iframe environments resolve static files compared to typical web applications. We also gained experience in structuring thread-safe Redis key schemes for daily rollovers.
What's next for ArtifactGuesser
We want to expand the collection catalog with more world-class museum partnerships, add filters for specific historical eras or medium types (e.g., paintings, weapons, pottery), and implement a real-time multiplayer duel mode!
Log in or sign up for Devpost to join the conversation.