Inspiration

The idea came from the classic "Wikipedia Game" — where you try to navigate
between two Wikipedia articles using only hyperlinks. It's a game people have been playing informally for years, and it's a perfect fit for Reddit: bite-sized, competitive, and endlessly replayable. We wanted to bring that experience natively into Reddit as a daily community challenge, similar to how Wordle gives people a shared puzzle to talk about each day.

## What it does

WikiGo is a daily Wikipedia navigation game for Reddit. Each day, a new challenge is automatically posted with a random start and target Wikipedia article. Players navigate from start to target by clicking links within the articles, trying to get there in the fewest clicks or fastest time.

Key features:

  • Daily Challenges posted automatically at 12:00 UTC
  • Leaderboards tracking Best Path (fewest clicks), Quickest Time, and Longest Chain
  • Free Play Mode where users can pick any two articles and practice
  • Shareable Results with spoiler-formatted paths for Reddit comments
  • Anonymous Play so anyone can participate, even without signing in
  • Moderator Tools for manual challenge creation and scheduling controls

## How we built it

WikiGo runs entirely on the Devvit platform. The backend is TypeScript using Devvit's Redis for all game state, leaderboards, and scheduling. The frontend is a vanilla JS/CSS webview — no frameworks, no build tools beyond TypeScript compilation. Wikipedia's public API provides all article content and search functionality.

The architecture is a message-passing system between the Devvit backend and the webview client. Daily challenges use a dual-lock scheduling system to prevent duplicate posts, with automatic recovery if the process fails mid-way. The whole app is roughly 3,800 lines of code across three files.

## Challenges we ran into

  • Wikipedia disambiguation pages kept showing up as random articles, leading to dead-end or low-quality games. We had to build a detection and filtering system that checks article categories before selecting them.
  • Scheduling reliability was tricky — we needed to ensure exactly one post per day even if the scheduled job ran multiple times or failed partway through. The solution was a dual-lock system with progress keys and posted guards in Redis.
  • Anonymous player tracking required a hybrid identification system since not all Reddit users are signed in. We use session-based guest IDs so anonymous users can still play and appear on leaderboards.
  • Wikipedia HTML processing needed aggressive filtering to strip images, infoboxes, and non-article links while preserving readable content and valid navigation links.

## Accomplishments that we're proud of

  • The entire app is zero-dependency beyond the Devvit SDK — vanilla JS, pure CSS, no frameworks. It's lean and fast.
  • The daily scheduling system is genuinely robust, with fallback articles if the Wikipedia API times out and recovery mechanisms for partial failures.
  • The share feature produces spoiler-formatted text that fits naturally into Reddit comments.
  • The game just works on mobile — touch-friendly, responsive, and smooth in the Reddit app.

## What we learned

  • Devvit's Redis + webview architecture is surprisingly powerful for building interactive experiences. The message-passing pattern between server and client keeps things clean.
  • Building for both signed-in and anonymous users adds real complexity to state management, but it's worth it for accessibility.
  • Wikipedia's API has a lot of quirks — disambiguation detection, redirect handling, and HTML cleanliness all required more work than expected.
  • Keeping the codebase small and framework-free made iteration much faster than it would have been with a heavier stack.

## What's next for WikiGo

  • Trending Topics Use the trending wikipedia articles as the target or starting point so we can get more relevant topics challenge in real time
  • Improved completion tracking for anonymous players
  • Category-themed challenges (e.g., "Science Saturday" where both articles are science-related)
  • Streak tracking to reward players who complete daily challenges consistently
  • Hint system to help players who get stuck without fully giving up

Built With

Share this project:

Updates