Skip to content


Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

PoseDance - Perfect your Dance Moves with a friendly TikTok Trainer!

Welcome to PoseDance!


PoseDance is your friendly TikTok trainer. It uses embedded videos downloaded from TikTok with PoseNet running on top, enabling the drawing of a 'skeleton' as each frame of a video is analyzed. Match your webcam's output to the video and get a high score!

This project is built using Vue.js with PoseNet installed as an npm package. This allows use of the TensorFlow-built models to be used via TensorFlow.js in the web app. It also makes the app PRETTY BIG, especially as you need to analyze two models, one for the video from TikTok, and one for your webcam.

For its backend it also uses PlayFab, a great PAAS for games. Register and login to record your high score!

It's hosted on Azure Static Web Sites, a nice way to host your static web apps and SPAS like this one.

You can read more about how to build and host Azure Static Sites on the Microsoft Docs. You can also walk through how to publish your static sites to Azure on Microsoft Learn.

Learn about the codebase

This repo has a Code Tour! What's a Code Tour, you ask? It's a neat little Visual Studio Code extension that, if installed locally, will allow you to view the code tour that I created to step through the code. Install that extension in VS Code and give it a try! Dance with us here:


Watch a video explanation of the technology behind the silliness.


Download a PowerPoint presentation on this project here.

Behind the Scenes

Learn more about PoseNet here.


Where can I learn more about TensorFlow.js?

Check out their docs and try some tutorials and CodeLabs. Its roadmap is interesting as well. Good blogposts are available as well.

Does TensorFlow.js support GPU?

There's a TFJS webgpu backend library you can try here.

What about WASM?

There's a new TFJS WASM backend as well!

Project setup

cd app && npm install

Compiles and hot-reloads for development

npm run serve

Compiles and minifies for production

npm run build

Lints and fixes files

npm run lint


πŸ•ΊπŸ’ƒ The TikTok Trainer! Using PoseNet, match the dancer's moves, get a high score!






No releases published


No packages published