Inspiration

Have you ever found yourself doom scrolling on TikTok, watching the same viral dance pop up again and again — each one just a little different? You start to wonder: who actually nailed the original moves? That’s exactly the question that inspired us to create MatchA Dance — a fun, interactive platform that measures exactly how close your dance matches the original.

What it does

MatchA Dance is a web-based video sharing application where you can upload dances and challenge others to see who can match the dance best. We employ an AI-based motion tracking and comparison engine to judge the user on a scale of 0-100% how perfectly they matched the dance. The user can then submit their match to the global leaderboard to find out how accurately they MatchA!

How we built it

Frontend: (React + Vite) Users can upload dance videos, match(a) others’ performances, and view challenges. Supabase handles authentication directly from the frontend using OAuth (Google login).

AI Judging System: Our AI judging module (built with MediaPipe) analyzes body landmarks from videos to calculate a similarity score between two dances. This generates a Performance Point (PP) score for each participant, quantifying how closely their moves match the challenge creator’s based on amount of reference points measured and accuracy of the participant.

Deployment: Hosted on Vercel for the frontend and Render and backend

Challenges we ran into

GitHub merge conflicts: With multiple people pushing changes rapidly, we ran into several version control issues that required careful coordination and rebasing to keep our code stable.

Motion tracking accuracy: Getting MediaPipe to consistently detect dance movements across different lighting conditions and camera angles was harder than expected. We had to fine-tune the model inputs and normalize poses for fair scoring.

Supabase Row-Level Security: We struggled with permission errors when uploading profile pictures and managing user data, which taught us a lot about database policies.

Integration complexity: Combining the AI judging system, Supabase backend, and Express leaderboard into a seamless workflow took time and debugging.

Accomplishments that we're proud of

Created an AI-powered judging system with MediaPipe that analyzes body landmarks and generates performance scores automatically.

Implemented a global leaderboard system with an Express backend that ranks users based on their dance performance points.

Designed a clean, intuitive UI, making dance challenges fun and competitive. Overcame Row-Level security policies in Supabase and synchronizing AI scoring with backend leaderboards.

What we learned

How to integrate AI-based motion tracking (MediaPipe) into a web workflow and use pose landmarks for performance scoring.

The importance of structuring databases and Row-Level Security properly in Supabase to avoid permission issues.

How to collaborate effectively in a team setting using GitHub, version control, and clear communication during merges.

What we could have done better

We could have spent more time refining the AI judging calibration, especially across different body types and camera setups.

Better UI/UX design for smoother user onboarding and challenge discovery.

Earlier setup of backend architecture to avoid refactoring late in the project. Adding real-time notifications and comments to increase user engagement.

Share this project:

Updates