OptiFit is an innovative mobile application designed to revolutionize your workout experience. Using the power of AI, OptiFit analyzes your exercise form in real-time, providing immediate feedback to help you improve your technique, prevent injuries, and maximize your results. Whether you're a beginner or a seasoned athlete, OptiFit is your personal AI trainer, available anytime, anywhere.
- ✅ Real-Time Form Analysis: Get instant feedback on your squat form, with more exercises to come.
- 🤖 AI-Powered Chat: Ask our AI assistant for fitness advice, workout plans, and nutritional guidance.
- 📊 Track Your Progress: Monitor your performance over time with detailed statistics and charts.
- 🏋️ Personalized Workouts: Coming soon: AI-generated workout plans tailored to your goals and abilities.
This repository is a monorepo containing both the frontend mobile application and the backend server.
optifit app/: The Flutter-based mobile application for Android and iOS.optifit backend/: The Python-based Flask server that handles video processing and AI analysis.
The demo video is included in the repository under
optifit app/assets/videos/demo.mp4.Click the image above to open the video locally.
Ready to contribute? Follow our comprehensive setup guide to get both frontend and backend running:
The server.js file provides a minimal backend signaling and room management implementation for live video workout sessions.
npm install [email protected] [email protected]
node server.jsThe server will listen on port 3000 by default.
- Real-time signaling for WebRTC peer-to-peer connections
- Room management for workout sessions
- Broadcasting messages within rooms
Clients can connect via Socket.IO and join rooms to establish peer-to-peer video connections for collaborative workout sessions.
We welcome contributions from everyone! Please check out our Contributing Guide for guidelines about how to proceed.
Distributed under the MIT License. See LICENSE for more information.
Give a ⭐️ if this project helped you!
Made with ❤️ by the OptiFit team
