Skip to content
Affan edited this page Aug 21, 2025 · 1 revision

OptiFit Wiki

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.


About 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.

Key Features

  • Real-Time Form Analysis
  • AI-Powered Chat Assistant
  • Progress Tracking
  • Personalized Workout Plans (Coming Soon)

Technologies Used

  • Dart (Flutter)
  • Python (Flask)
  • C++

Getting Started

Prerequisites

  • Flutter SDK for mobile app development
  • Python 3.x for backend server
  • Required libraries and dependencies (listed in backend README and Flutter pubspec.yaml)

Setup Guide

  1. Clone the repository:
    git clone https://github.com/MasterAffan/OptiFit.git

  2. Backend setup:

  • Navigate to optifit backend/
  • Create a virtual environment and install dependencies
  • Run the Flask server
  1. Frontend setup:
  • Navigate to optifit app/
  • Install Flutter dependencies
  • Run the app on an emulator or device

Demo

The demo video is located at optifit app/assets/videos/demo.mp4


Project Structure

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.


Features

Current Features

  • 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

Upcoming Features

  • AI-generated Personalized Workout Plans tailored to individual goals and abilities

Contribution Guidelines

We welcome contributions from the community! Please follow the steps below to contribute to OptiFit.

How to Contribute

  • Browse issues labeled with gssoc, level1, level2, or level3.
  • Comment on an issue with the gssoc tag to get assigned.
  • Follow the repository's coding standards.
  • Submit pull requests with clear descriptions of your changes.

Point System for GSSoC 2025

  • Every PR: 1 point (participation bonus)
  • Level 1 issues: 10 points
  • Level 2 issues: 25 points
  • Level 3 issues: 45 points

Important Notes

  • Please read the full Contributing Guidelines in the repository before starting.
  • Make sure to write clear, descriptive commit messages.

FAQ

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.


License

OptiFit is released under the MIT License. See the LICENSE file in the repository for details.