Inspiration

In 2016, the internet danced. The Running Man Challenge, the Dab, Juju On That Beat: everyone was learning dances from 6-second Vines and Musical.ly clips. But learning from a video has always been frustrating. You can't see your own mistakes, the video doesn't wait for you, and private dance lessons are expensive.

We asked: what if the video could watch you back, and teach you the way you learn?

Even our name is a throwback: Dancr, in true 2010s app-naming style, vowel dropped.

What it does

Dancr is an AI dance coach that teaches you any dance through your webcam, with no controllers needed.

  • Learn: Pick a 2016 classic or upload any dance video. Dancr extracts the dancer's movement and splits the dance into short steps.
  • Practice with 1:1 tracking: Your webcam tracks your body in real time and compares every limb to the reference dancer. A live match score shows how close you are, and limbs that don't match glow red.
  • Control the pace: Slow the tutorial down to anywhere from 0.3x to 1.1x, loop a step, and move on once you pass.
  • AI coach: When you struggle, the coach gives one specific tip, like "Lift your left knee higher" or "You're a little late on count 3," spoken aloud so you never stop dancing.
  • Adapts to how you learn: Dancr builds a learner profile as you practice. It tracks your skill for each body part, notices whether you learn fast or slow, miss small details, or rush the beat, and adjusts your lesson automatically.
  • Profile & progress: See your skill per body part, your progress over time, a learner-type badge, and an AI-written session report.

All of it is wrapped in a 2016 social-app aesthetic: story-style progress bars, a "Trending in 2016" feed, neon glow, and pink-sunset gradients.

How we built it

  • Body tracking: MediaPipe Pose Landmarker runs in the browser and finds 33 body points about 30 times per second. Video never leaves the device.
  • Scoring: We convert body points into 8 joint angles (elbows, shoulders, hips, knees). Because angles don't depend on height or distance from the camera, people of any body size can match the same move. Each joint is scored by how far it is from the reference, and we search a small time window to tell whether you're early or late rather than just wrong.
  • Dance processing: Uploaded videos run through the same pose pipeline frame by frame and are saved as joint-angle data, split into 8-count steps, while the original video plays as the tutorial in sync with the lesson speed.
  • Learning tracker: Every attempt is saved to the backend. A per-body-part skill score updates after each attempt, and rules detect learner patterns (slow, fast, missing details, timing issues, plateaus) to adapt chunk size, speed, and drills.
  • AI coach: An LLM turns a short summary of your learner profile into a single, encouraging tip and an end-of-session report. ElevenLabs gives the coach a natural voice.
  • Stack: React + Vite frontend, Python backend with SQLite, HTML Canvas for the neon skeleton overlay.

Challenges we ran into

  • Comparing different bodies: Raw body-point positions change with height and camera distance, so we switched to joint angles to make scoring fair.
  • Timing vs. accuracy: A dancer who is a beat late looked "wrong" at first. Searching a short time window fixed that and gave us early/late feedback for free.
  • Making the skeleton look good: A default stick figure looked messy, so we redesigned it as glowing neon limbs that only light up where you're wrong, plus an on/off toggle.
  • Phone layout: The tutorial and camera didn't fit side by side on small screens, so we made them stack and auto-crop to keep you centered.
  • Learning a lot fast: Most of our team is first-year, and pose estimation, full-stack data flow, and AI APIs were new to us.

Accomplishments that we're proud of

  • Real-time, controller-free body tracking that runs entirely in the browser
  • A coach that adapts to how each person learns, not just whether they got it right
  • Turning 2016 internet nostalgia into a tool that makes learning to dance accessible to anyone

What we learned

How pose estimation works, how to turn body points into meaningful measurements, how to connect a frontend, backend, database, and AI APIs into one data flow, and how to scope a project so the core works before adding extras.

What's next for Dancr

  • Train a real model: With more users, train a model on practice data to predict which steps are hardest for which learners and choose the best next exercise.
  • Style remix: Transform any dance into your own style: sharper, smoother, more hype, or a low-impact/seated version so people with injuries or limited mobility can join in.
  • Share your best take as a looping 6-second clip.
  • Multiplayer duets: Learn a dance together with a friend in real time.

Built With

Share this project:

Updates

Submission history