Inspiration

Our project was born out of our shared love for Reddit and word games. My teammate and I often bond over word games like those from The New York Times or LinkedIn, challenging and updating each other regularly. At the same time, we constantly shared fun and interesting Reddit posts with one another. Combining these two things that brought us so much joy—Reddit and word games—seemed like the perfect idea for the Devvit Hackathon.

What it does

We created a reverse crossword game where:

  • The crossword grid and clues are already filled in.
  • Players need to identify and darken out the cells that are not part of the answers.

We hope to take this concept forward and make the gameplay even more addicitve by adding new modes, users challenging one another in realtime, and much more!

How we built it

We built the project using a mix of tools and technologies to get everything running smoothly. For the frontend, we used Next.js with TypeScript and styled it using Tailwind CSS for a clean and responsive design. The project was deployed on Vercel, which made hosting and deployment super straightforward.

For the logic, we integrated OpenAI’s API to fetch words and handle the crossword puzzle generation, ensuring each theme felt fresh and fun. We connected everything with Devvit, Reddit’s framework, which allowed us to bring the game to life directly on the platform. To keep the setup fast and efficient, we also used Vite during development.

Challenges We Ran Into

We faced a lot of challenges right from deciding what idea to go forward with—we juggled multiple ideas—before settling on this one. One of the biggest hurdles came at the last minute when we realized our backend needed to be whitelisted by the Devvit mods with only a day left for submission. This left us scrambling as playtesting on the subreddit was still pending.

There was also a lot of inconsistency between our code on Next.js and how it appeared on the Devvit platform. Integrating the word-fetcher and crossword puzzle logic using OpenAI’s API required us to focus on efficiency and proper integration.

Additionally, we spent a lot of time on a leaderboard feature, and wrapped it up just in the nick of time. Even seemingly small things, like ensuring our CSS and styling fit the Reddit post size, turned into mini challenges of their own. We ended up creating multiple custom posts and blocks to resolve this.

Accomplishments That We're Proud Of

We’re extremely proud that we came up with this idea, worked extensively on it, and put in a lot of time and effort. Despite facing countless bugs—where fixing one issue often led to another breaking—we pushed through and built a functioning and polished project.

What makes this accomplishment even more significant is that we were quite unfamiliar with many tools and technologies at the start. Yet, we managed to learn, adapt, and deliver the project on time.

What We Learned

We learned a lot during this project:

  • Devvit Platform: Understanding how Devvit works, including its blocks and webviews.
  • Integration: Learning how to integrate our existing codebase with Devvit’s syntax and properties.
  • Efficiency: Optimizing logic and API usage, particularly with OpenAI’s API.

This project pushed us to expand our technical knowledge and problem-solving skills.

What's Next for DarkWord

We have exciting plans for DarkWord’s future!

  • Subreddit-Based Themes: Allow users to enter a subreddit name (e.g., csmajors) and generate a theme based on it. For example, words like “leetcode,” “intern,” or “meta” could appear for programming-related subreddits.
  • Grid Expansion: Expand the puzzle grid for more complex and challenging gameplay.
  • Collections and Archives: Add features to save and revisit past puzzles.
  • User Themed & Educational Crosswords: Allowing users to generate crosswords and learn about topics of their choice!

Built With

Share this project:

Updates