Inspiration
We wanted a more fun, less frustrating way to learn Python. All of us had hit the same wall: learning code felt dry and disconnected. Inspired by the Game Pigeon game Filler, we decided to reimagine coding as something competitive and addictive, where the goal is to “fill” your knowledge one challenge at a time.
What it does
Mind Clash is an interactive online coding game that transforms learning Python into an engaging experience. Whether you're playing solo or competing in real-time with others, Mind Clash challenges players to solve Python-based problems and level up their coding skills while having fun. It’s the perfect blend of education and gamification, making coding accessible, social, and addictive
How we built it
Frontend: Gatsby (React-based)
- We used Gatsby for building a fast, responsive frontend with React components.
- Gatsby’s static site generation made loading super quick, and its plugin ecosystem helped with setup and routing.
- We created custom components for the game grid, question display, and player stats.
Backend: Node.js with Socket.io
- Used Node.js to build the server that handles real-time game logic.
- Integrated Socket.io for real-time bidirectional communication between players.
- Managed events like player moves, turn updates, and game state sync across all clients in a room.
Realtime Database & Auth: Firebase
- Used Firebase Authentication to handle user sign-ins (anonymous or with email).
- Firebase Realtime Database stored game room data, player states, and scores.
- It allowed us to easily sync game state and leaderboard info across users with minimal backend overhead.
Multiplayer Room Logic
- Players can create or join a room using a unique code.
- Game state is stored in Firebase and updates are pushed via Socket.io for instant feedback.
- Handled edge cases like players disconnecting mid-game and rejoining.
Code Challenges
- We embedded short Python-based questions players must solve to “claim” parts of the board.
- Player actions are locked until they submit a correct answer, adding an educational twist to traditional filler-style gameplay
Timeline
Friday:
- Finalized the concept and game mechanics
- Set up Firebase project & basic Gatsby scaffolding
- Started UI wireframes
Saturday:
- Implemented core game logic for Python challenges
- Integrated Firebase auth and database
- Set up multiplayer functionality with Socket.io
Sunday:
- Final testing and quick bug fixes
- Added a few UI tweaks and deployed the final version
Challenges we ran into
One of our biggest challenges was keeping the game state synced in real-time across multiple players without lag. Handling sudden disconnections without breaking the game logic took careful planning, as we had to ensure the experience stayed smooth and fair. Another major hurdle was designing a UI that felt playful and game-like, while still clearly presenting the coding challenges, we went through several iterations to strike that balance and make learning feel fun
Accomplishments that we're proud of
We’re proud that we built a fully functional multiplayer coding game in just one weekend. It wasn’t just about finishing the project, we had a great time collaborating as a team and really enjoyed playing the game ourselves. Along the way, we learned a lot about real-time systems, multiplayer architecture, and what it takes to design a game that’s both educational and genuinely fun.
What we learned
We learned a ton throughout this project, especially about the tools that powered it. Firebase was a game-changer. Its real-time features and simplicity made building a multiplayer experience much easier without needing a heavy backend. On the frontend, we got comfortable working quickly with Gatsby and React to build a clean, responsive interface. We also gained hands-on experience with real-time sockets, managing race conditions, and designing smooth, collaborative user flows that kept the game running seamlessly.
What's next for MindClash
We want to expand beyond pre-written challenges next, we’ll allow users to upload or generate challenge files, so the game can cover more topics and grow with the user’s skill level
Built With
- css
- express.js
- firebase
- gatsby
- javascript
- netlify
- node.js
- react
- render
- socket.io
- tailwindcss
Log in or sign up for Devpost to join the conversation.