Dance Party

WWDC 2021 Swift Student Challenge Winner

Dance Party

Installation Steps (Works on iPad Only)

  • Clone or Download
  • Unzip the .playgroundbook.zip
  • Airdrop to iPad and open in Swift Playgrounds


During the pandemic, it has been hard for me to find different ways to stay active as I usually rely on hockey and other team sports. I wanted to take this chance to make a game that I and others could use to get moving and have fun while doing it. Dance Party is a game that allows you to add your music and record your choreography using the front facing camera or play against the pre-recorded songs. You can then get other people to play the song where they try to match the choreography as best as possible, I use your joint positions to determine how well you fit the recording.


There is support for single-player and two-player multiplayer. In multiplayer, you can connect to another iPad and 1v1 them live against a pre-recorded song. There is also a Practice mode where you can change the track’s speed, and scores are not recorded.

The orange player is the one you follow. The key poses (the ones that give you points) slide across the bottom, and when they enter the white box, you must hit them. If you match the orange person exactly, you should get max points anyways! I find it easiest to rest my iPad in portrait against a wall or vertical surface.

That’s all! Fullscreen and get playing!

  • Note: It is best if you are the only person in frame, your full body (arms above your head to toe) takes around 2/3 of the camera view and there is contrast between you and your background.

  • Note: Please use the newest iPad Pro to get the best experience. Using iPad Air with A14 bionic had extremely smooth gameplay, but iPad Pro 10.5 inch with A10X experienced some lag in pose recognition. This is due to the accelerated vision processing on newer bionic chips.

What’s Next

I would love to add fancier body views with more defined features. I would also want to add multiplayer with songs that I have added and larger sessions over the internet instead of the local network! Finding a way to increase the reliability of side poses and turn poses would be a nice thing to add.