-
Notifications
You must be signed in to change notification settings - Fork 31
Home
Welcome to the OptiFit Wiki!
OptiFit is an AI-powered fitness trainer app designed to transform your workout experience by providing real-time form analysis and personalized feedback to help you improve your technique, prevent injuries, and maximize your fitness results.
This wiki contains detailed guides and documentation about the project, including how to set up, contribute, and use OptiFit.
OptiFit leverages cutting-edge AI technology for real-time exercise form analysis through video processing. The app supports instant feedback, fitness advice, and progress tracking, aiming to serve users from beginners to seasoned athletes.
- Real-Time Form Analysis
- AI-Powered Chat Assistant
- Progress Tracking
- Personalized Workout Plans (Coming Soon)
- Dart (Flutter)
- Python (Flask)
- C++
- Flutter SDK for mobile app development
- Python 3.x for backend server
- Required libraries and dependencies (listed in backend README and Flutter pubspec.yaml)
-
Clone the repository:
git clone https://github.com/MasterAffan/OptiFit.git -
Backend setup:
- Navigate to
optifit backend/ - Create a virtual environment and install dependencies
- Run the Flask server
- Frontend setup:
- Navigate to
optifit app/ - Install Flutter dependencies
- Run the app on an emulator or device
The demo video is located at optifit app/assets/videos/demo.mp4
OptiFit is structured as a monorepo with two main parts:
-
optifit app/
Flutter-based mobile app for iOS and Android. -
optifit backend/
Python Flask backend handling video processing and AI analysis.
Each directory contains source code, assets, and README files with more details.
- Real-Time Form Analysis with instant feedback on squat form (more exercises planned)
- AI-Powered Chat Assistant for fitness advice, workout plans, and nutritional guidance
- Performance Tracking with detailed statistics and charts
- AI-generated Personalized Workout Plans tailored to individual goals and abilities
We welcome contributions from the community! Please follow the steps below to contribute to OptiFit.
- Browse issues labeled with
gssoc,level1,level2, orlevel3. - Comment on an issue with the
gssoctag to get assigned. - Follow the repository's coding standards.
- Submit pull requests with clear descriptions of your changes.
- Every PR: 1 point (participation bonus)
- Level 1 issues: 10 points
- Level 2 issues: 25 points
- Level 3 issues: 45 points
- Please read the full Contributing Guidelines in the repository before starting.
- Make sure to write clear, descriptive commit messages.
Q: How do I run the backend server?
A: Navigate to optifit backend/, create a Python virtual environment, install dependencies, and run the Flask app according to backend README instructions.
Q: How do I test the app on my device?
A: Navigate to optifit app/, ensure Flutter is installed, run flutter pub get, and then deploy to your emulator or connected device.
Q: Can I contribute if I am new to AI or Flutter?
A: Yes! There are issues labeled by difficulty, and contributors of all levels are welcome.
For more questions, please open an issue in the repository.
OptiFit is released under the MIT License. See the LICENSE file in the repository for details.