Inspiration

We know it’s hard to learn movements without an instructor’s feedback, and we wanted to create an AI coach 🤖 that empowers people to easily learn whatever they wish to learn--without risking injury. Whether it’s dance moves, workout routines, or sports techniques, FlowForm aims to make learning more accessible, accurate, and engaging.

What it does

FlowForm allows you to upload or search ANY reference video 🎥 to learn a new skill or movement. By leveraging advanced body tracking technology 🕺, our platform accurately compares each frame of the user’s video to the reference video. Users receive instant feedback 💬 and accuracy scores 📊, enabling them to practice in a safe 🛡️ and constructive environment. Our goal is to make skill acquisition smoother and more enjoyable, regardless of experience level.

How we built it

We built FlowForm using Flask 🐍, OpenCV 📷, MediaPipe 📡, and Google Gemini 🌐. To ensure accurate comparisons, we incorporated technologies like Dynamic Time Warping ⏱️ for aligning videos with different speeds and Pose Landmark Detection 🧍‍♀️ to capture detailed body movements. By integrating these technologies, we developed a system that is both precise and responsive to user inputs.

Challenges we ran into

One of the biggest challenges was prompt engineering 📝 with Google Gemini—crafting prompts that generated relevant and clear feedback required significant iteration. Synchronizing videos 🕒 performed at different speeds was another complex issue, pushing us to fully understand and implement Dynamic Time Warping effectively. Midway through development, our Django web app 🌐 ran into roadblocks, forcing us to pivot to Flask, a framework none of us had prior experience with. Despite the learning curve, we adapted quickly and brought FlowForm to life.

Accomplishments that we're proud of

We’re incredibly proud of creating a highly accurate model 🎯 that provides meaningful movement comparisons. Another highlight is the user-friendly interface 🖥️, ensuring that users of all skill levels can seamlessly upload, compare, and learn. Overcoming technical hurdles and adapting to new frameworks under time constraints was no small feat, and we’re thrilled with the end result.

What we learned

This project was a journey of growth and exploration. We learned Flask 🐍 from scratch, dived deep into pose estimation 📏 using MediaPipe, and gained valuable insight into time-series alignment 🕰️ with Dynamic Time Warping. Beyond the technical knowledge, we learned the importance of team adaptability 🤝 and staying solution-focused when faced with unexpected challenges.

What's next for FlowForm

Looking ahead, we aim to expand our library 📚 of readily available reference videos so users can easily find tutorials for a variety of movements. We also plan to implement voice-based feedback 🗣️ for real-time coaching, making the learning process even more interactive and engaging. Additionally, we envision integrating progress tracking 📈, developing a mobile app 📱, and adding community features 🌍 where users can share videos and challenge friends. Our goal is to make FlowForm a go-to platform for movement-based learning and personal growth.

Built With

Share this project:

Updates