Inspiration
We believe karaoke is about connection. Singing together with friends creates shared joy, laughter, and energy. In a time when the world feels increasingly divided, we wanted to build something that brings people together, even in small ways. In just 24 hours, we chose karaoke because it’s universal, accessible, and joyful. We also grew up loving games like Street Fighter and Mortal Kombat, so we merged those ideas to create an interactive event where anyone can join and feel welcome. Karaoke Combat turns that shared experience into a game so connection isn’t just felt, it’s played.
What it does
Karaoke Combat turns singing into a real-time fighting game. Two players sing the same song in turns: when you sing, you attack; when you’re silent, you defend. The game tracks pitch live and matches it to MIDI notes, converting vocal performance into damage and defense to create a combat-style duel powered entirely by voice. Even though players can be attacked and lose health, they never truly die because karaoke is an experience meant to be shared from beginning to end. Everyone stays in the game, singing together until the final note.
How we built it
We built a web-based multiplayer game using React, Node.js, Socket.IO, and ngrok for mobile access. We analyze microphone input in real time to track pitch, generate melody references from instrumental audio, and map vocal performance directly to MIDI files. The frontend handles animations and UI, while the backend synchronizes players and scoring. Each song is divided into 4 segments and so each player has 2 chances of singing. This game is server-based. Meaning that players don’t need to be physically near the main computer. Each player connects through their own phone using a shared link, so they can sing from anywhere in the world while the game stays synchronized in real time.
Challenges we ran into
- Using ngrok for mobile access: we had connection issues between devices
- figuring out how we would go about this project
- how to compare pitch
- how to make MIDI files
This took a lot of trial and error. We also fought with environment setup, audio libraries, and networking issues (!!), but each problem pushed us to understand our system more deeply.
Accomplishments that we're proud of
We’re proud that we built a working real-time multiplayer game where singing actually controls gameplay. Getting live pitch detection, melody extraction, and mobile access working together was a huge technical win, especially within a hackathon timeframe. It was also fun to actually demo the project together and it working !!
What we learned
We learned how complex real-time audio is, especially when combined with networking and gameplay logic. We also learned to design around imperfections: instead of aiming for perfect pitch matching, we focused on stability and feel, making the game more fun.
What's next for Karaoke Combat
Next, we want to add sprites to our UI, animations, and support for more songs.
Notes on AI
We used AI for ideation and debugging using Gemini.

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