Inspiration

The initial inspiration for this project came from classic grid-based word puzzles like the "Word Square" from anypuzzle.com. We were drawn to the simplicity of a self-contained puzzle in a grid.

However, in designing for the fast-paced Reddit feed, we evolved the concept. We took inspiration from the frantic, intuitive fun of games like Boggle and the powerful daily-habit loop of modern puzzles like Wordle. Our goal was to merge the freeform word-finding of Boggle with the community and competitive structure of a daily Reddit event, creating something new that felt perfectly at home on the platform.

What it does

Scrambled Squares is a daily, timed, word hunt game that unfolds entirely within a Reddit post. Each day, it presents all players with the same 4x4 grid of letters. When a player hits "Start," they have 60 seconds to find as many words of three or more letters as they can.

Words are formed by tracing a path through adjacent letters (horizontally, vertically, and diagonally) without re-using a letter tile in a single word. The game uses the official Scrabble dictionary for word validation.

The core feature is the dynamic "First-to-Clear" Leaderboard. Players compete not just for a high score, but to be the very first person to find 100% of the possible words in the grid, which closes the leaderboard for the day and crowns them the daily champion.

How we built it

The game is built from the ground up using the Reddit Devvit SDK, leveraging its client-server architecture to create a seamless and robust experience.

  • Backend (Server-Side): Built with TypeScript on the Devvit platform. The server is the authoritative source for the game. It is responsible for:

    • Generating the unique daily letter grid.
    • Loading the official Scrabble dictionary and running a solver algorithm to determine all possible words.
    • Validating every word submitted by players to prevent cheating.
    • Managing the daily leaderboard's state, including scores and its "open/closed" status.
  • Frontend (Client-Side): Built with React and TypeScript. The client handles the entire user-facing experience:

    • Rendering the interactive game board, timer, and other UI elements within the Reddit post.
    • Capturing player input (the "trace-to-find" mechanic on the grid).
    • Providing real-time visual feedback to the player.
    • Communicating with the backend to validate words and submit final scores.

Challenges we ran into

  1. The Solver Algorithm: Developing an efficient server-side algorithm to parse a 4x4 grid and find every single valid word against a massive dictionary was a significant computer science challenge. This required implementing a recursive Depth-First Search (DFS) optimized with a Trie data structure to make it performant enough for a daily generation schedule.

  2. Real-Time State Management: The "First-to-Clear" leaderboard mechanic requires a shared state that is updated in near-real-time for all players. Ensuring this system was fast, scalable, and free of race conditions (e.g., two players clearing the board at the exact same moment) required careful backend design.

  3. Intuitive Cross-Platform Input: Creating a "trace-to-find" input system that feels fluid and natural on both mobile (touch-and-drag) and desktop (click-and-drag) within the technical constraints of a Reddit webview was a major UI/UX challenge.

Accomplishments that we're proud of

  • A Truly Bite-Sized Competitive Experience: We successfully designed a complete and deeply strategic game loop that fits into a thrilling 60-second session, respecting the user's time while providing a real challenge.

  • The "First-to-Clear" Leaderboard: We believe this is a novel and powerful competitive hook. It transforms the game from a personal high-score chase into an exciting daily race, creating a definitive "winner" and a compelling event for the community to rally around each day.

  • Seamless Reddit Integration: The game feels like a native part of Reddit. By using the post as the game board, comments for discussion, and flair for rewards, we've created an experience that enhances the platform rather than just existing on it.

What we learned

  • Asynchronous Competition: We learned that it's possible to create the intense, real-time feeling of a race without requiring players to be online simultaneously. The asynchronous leaderboard, where players contribute at their own pace, proved to be an effective model for a platform like Reddit.

  • Focus on the "Hook": A simple Boggle style idea solved the problem. We learned that success in a crowded puzzle market comes from a unique, compelling hook. For us, that became the "First-to-Clear" mechanic, which gives the game a strong identity.

  • Design for the Platform: Every decision was guided by the Devvit design principles. By embracing the asynchronous, feed-based nature of Reddit, we were able to create a game that feels more engaging and sustainable than a direct port of a real-time game ever could.

What's next for Scrambled Squares

The daily puzzle is just the beginning. Our roadmap is focused on deepening the competitive and community features:

  • Seasonal Leaderboards: Implement monthly or quarterly "Seasons" with exclusive, permanent flair awarded to the top players, creating a long-term competitive meta.
  • Player Stats & Achievements: A dedicated profile where players can track their stats (average score, longest word, etc.) and earn badges for in-game achievements.
  • Themed Weeks: Introduce special weekly events with themed grids (e.g., "All Vowels Week," "Science Week") to add variety to the daily puzzles.
  • Customization: Allow players to unlock new color schemes and cosmetic themes for their game grid as a reward for streaks and achievements.

Built With

Share this project:

Updates