The Riff Off idea comes from the movie series Pitch Perfect. Our game works similar to the Riff Off in the movie, except players select the songs from our song bank and play from there to earn points instead of sing.

What it does

It is a multiplayer mobile application that works on both iOS and Android. It allows players to compete by selecting a song that matches the beat of the previous song and earn score. Players can join the same session by the use of QR codes. Then, the game requires players to constantly change songs that have a similar BPM as the last one being played to earn points. The longer a song stays up, the more points that player earns.

How we built it

We used ionic with an express + mongo backend hosted on an EC2 instance.

Challenges we ran into

We ran into way too many challenges. One of the major issues we still have is that android phones are having issues opening up the game page. It worked until the last couple of hours. Also, having multiple devices play the song at the same time was challenging. Also, generating score and syncing it across all players' devices was not easy.

Accomplishments that we're proud of

  • It's pretty
  • It doesn't crash like 60% of the time
  • As a team of mostly newish hackers we actually finished!!
  • Did we mention it's pretty?

What we learned

For most of our team members it is our first time using ionic. This allowed us to learn many new things like coding in typescript.

What's next for Beat

Get Android to work seamlessly. There remain some minor styling and integration issues. Also, in our initial planning, points are given for the matching of lyrics on coming in. We did not have enough time to implement that, so our score is currently only generated by time and BPM. The next step would be to include more ways to generate the score to make a more accurate point system. A final detail we can add is that currently the game does not end. We can implement a set amount of time for each game, or allow the players to determine that.

Share this project: