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
Share this project:

Updates