Inspiration
ChessChase is loosely inspired by chess GM Maurice Ashley's "Pawn Mower" puzzles. I first met Maurice Ashley at the 2011 National Elementary School (K-6) Chess Championships where he gave a simultaneous exhibition and a demonstration of his new digital teaching tools. I obviously lost my simul game against Maurice pretty badly, but I do remember downloading his iPad app shortly after this experience and obsessing over his "Pawn Mower" puzzles, so that's a lifelong win!
In order to showcase ChessChase's uniqueness and adaptiveness to the competitive and communal format of Reddit's platforms, I incorporated key gameplay features such as timers, scores, bonus items, and more. Keep reading below to find out how the game works.
What it does
There are two different modes of gameplay, "Main" and "Daily" chess chase challenges. In the "Main" mode, a player moves around a specified chess piece and attempts to capture the opposing king while avoiding obstacles and collecting bonus items. On each capture, a new board game state is rendered, providing the player a dynamic user experience in which they are competing against the countdown timer to chase down as many kings as possible.
In the "Daily" mode, the player still moves a specified chess piece around the board with the intention of chasing down the most kings as possible. However, the initialization of game board elements is static, presenting players with the unique challenge of optimizing their gameplay moves in order to complete the game in the fewest moves possible. The puzzle-like nature of these daily challenges was inspired by the training rigor of the "Pawn Mower" puzzles described above. Each day, a new board game puzzle state is auto-generated and posted within the community, providing a daily incentive for players to continue playing every day with a fresh perspective.
How we built it
Devvit! Well first, I utilized familiar frontend tools and frameworks like React, TypeScript, Tailwind CSS, and Vite to build out the core logic and user interface of the chess board elements. Then, I borrowed this convenient React-Devvit template by Marcus Wood to incorporate my complete React app into the Devvit framework. The built-in package managers were automatically able to bundle my React app into a single source of HTML, CSS and JS files, which were fed into a "webview" container that was embedded into my Devvit app. I then used some of Devvit's built-in infrastructural features to complete tasks such as auto-generating new daily game posts and keeping track of leaderboard data using Redis.
Challenges we ran into
The biggest challenge I ran into overall was understanding the niche features of Devvit and Reddit development. Because the applicability of these concepts are restricted to Reddit's platform, there are not as many support forums readily available on these topics outside of the official documentation resources, forcing me to read the documentation more carefully and understand the logic of my code more astutely.
In terms of the technical implementation details of this project, the biggest challenge I faced was perfecting the core game logic. In order to make the traditionally slower-paced board game of chess more dynamic, I devised a multitude of different state updates triggered by each turn-based move, which was challenging to coordinate. But each roadblock brought forth new ideas to mind, so I'm glad to have undertaken these types of challenges in order to craft the most compelling game possible.
Accomplishments that we're proud of
While I'm excited to add another completed project to my ever-growing portfolio of web dev projects, I am most proud of having built a working prototype of an app that has the potential to reach more users than I have ever reached before. Thanks to Reddit's and Devvit's work in building the core infrastructure to support my app and dozens of others, I am excited to tap into a robust user base and market that I wouldn't have been able to build on my own. My wish is for this app to be enjoyed by chess and game enthusiasts from around the world!
What we learned
Devvit. I am now able to iterate and deploy new full-stack apps to Reddit in the future with much more ease and familiarity. But outside of Devvit, I feel appreciable growth overall as a full-stack developer, especially in being able to practice more standard stacks and tools such as React and Redis, that I will surely apply to my day-to-day software development career.
What's next for ChessChase
I'm excited to hopefully see ChessChase grow its support and popularity throughout the depths of Reddit's platform. My immediate next steps would be to get ChessChase published and approved, providing technical support for any immediate bugs and obvious game mechanic faults. I put a lot of thought into the exact timings, score calculations, and game state initializations, but we'll see how real users feel about it in real-time!
In the long term, I hope to incorporate the ideas from my app into large chess websites like chess.com and lichess.com or maybe even game apps like LinkedIn or New York Times games. But for now, every new member of my ChessChase subreddit community is a big win in my playbook and I'll keep on dreaming and iterating until I reach the top of the chess mountain.
Built With
- devvit
- react
- redis
- tailwind
- typescript
- vite

Log in or sign up for Devpost to join the conversation.