Social distancing has taken away many aspects of our lives that we take for granted. School, shopping, parties, and hackathons are just not the same as before. During quarantine, you ever face a time where you had to show off your sheer physical power but had no audience due to self-isolation? Or you wanted to settle a day-long dispute through pushup count? Pushup Battle Online gives you the PERFECT solution. 1v1 your opponents over the internet and crush their souls!
What it does
Easily create rooms to invite your foe and jump right into a video call to battle. With 30 seconds on the clock, our website's state of the art AI technology tracks everyone's pushup count to see who can do the most. The winner gets a shower of confetti and bragging rights (voice communication powered by Vonage API).
How we built it
Our website uses React, Express, and socket.io for most of the game's UI and functionality. We used Vonage Video API for the video and voice calling between players. For our pushup counting, we used MediaPipe to detect and extract pose data. Our website is accessible at PushupBattle.online (domain provided by Domain.com) and hosted by Google Cloud Platform.
Challenges we ran into
- navigating libraries with poor documentation
- CSS hell
- writing good WebSockets
- time constraints (lots of hacking and bad code :( )
Accomplishments that we're proud of
- leveraging computer vision for a fun activity
What we learned
- how to use Vonage Video API
- how to use MediaPipe Pose tracking
- how to get huge while coding
What's next for Pushup Battle
- deploying on PushupBattle.online
- improving UI/UX
- scaling the game to serve millions in hopes of a swole population.