Inspiration

Quarantine has been hard. Being apart has been hard. Our friend group would often find ourselves streaming Just Dance YouTube videos over discord to dance along to so we thought to ourselves: What if we added a way to score your dancing? Thus Social Disdance was born!

What it does

Play a Just Dance like game online with up to 4 players!

How we built it

We used React, HTML, and CSS for the frontend.

We got online video chat working using by using Django as the backend for URL mapping, HTTP Post/Get requests and authentication. JavaScript was used to get the camera and microphone which was then connected online with the Twilio group rooms API.

For scoring we looked into a few libraries such as OpenPose, PoseNet and AlphaPose but we settled on TensorFlow due to it's lightweight. We also used a pretrained model to help build out layers in our neural network.

Challenges we ran into

One of the toughest challenges was putting the webcam and detections into the app. We needed to research many tools to assist us.

We looked into implementing web group video functionality ourselves but Django is mostly suited for HTTP requests. Web RTC provides a peer to peer connection but we wanted groups of more than two and we needed to get the data to our server for processing to calculate the dancers scores.

Unfortunately we didn't have enough time to interlace the dance game with the video chat rooms so we can only provide offline dancing experiences for now. But we are working on that feature for the future!

Accomplishments that we're proud of

Using Computer Vision was quite cool, we never mixed machine learning with web development before.

Share this project:

Updates