Inspiration
We were inspired by how many people work out alone without guidance. Beginners struggle with proper form, while experienced athletes sometimes develop small mistakes that can cause injury. We wanted to create an AI-powered virtual trainer accessible to anyone with a phone.
What it does
FlowForm analyzes your exercise form in real time using your phone camera. It focuses on three key pillars: analyze, guide, and improve.
Analyze: Tracks body landmarks, calculates joint angles, and counts reps, classifying them as valid or invalid.
Guide: Provides visual overlays and real-time voice coaching to correct form without needing to watch the screen.
Improve: Offers post-workout summaries, angle analytics, AI coaching insights, and workout streak tracking.
How we built it
- React Native & Expo: Mobile app development and camera capture
- TypeScript: Scalable frontend logic
- Python & FastAPI: Backend processing server
- MediaPipe Pose & OpenCV: Real-time body landmark detection
- Google Gemini 3.0 Flash: AI coaching feedback
- ElevenLabs TTS: Voice coaching for hands-free guidance
- WebSockets: Real-time streaming of frames to backend
Challenges we ran into
Optimizing real-time performance while running pose detection, AI feedback, and streaming was complex. Scanning different body types and synchronizing frontend overlays with backend analysis also required extensive testing.
Accomplishments that we're proud of
We built a working real-time form analysis system with smooth skeleton overlays, accurate rep classification, AI-generated coaching summaries, and voice feedback.
What we learned
We learned how to integrate real-time streaming, pose detection, and generative AI into a seamless system, and how geometry and biomechanics can translate human movement into actionable metrics.
What's next for FlowForm
- Add more exercises: lunges, burpees, planks
-Gamification by having leaderboards among friends for form accuracy and time spent working out.
Built With
- elevenlabs
- expo-audiopython
- expo-router
- fastapi
- gemini
- mediapipe
- pose(lite-model)
- react-native-(expo)
- react-native-svg
- typescript
- uvicornopencv
- websocket
- websockets
Log in or sign up for Devpost to join the conversation.