Skip to content

OptiFit is an AI-powered fitness application that analyzes exercise form through video processing, provides personalized workout guidance via AI chat, and tracks fitness progress across multiple platforms using Flutter and Python Flask. Learn more about the project

License

Notifications You must be signed in to change notification settings

MasterAffan/OptiFit

Repository files navigation

OptiFit Logo

OptiFit 🏋️

Your AI-Powered Personal Trainer

Contributors Forks Stars Issues MIT License

🎯 About OptiFit

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.

✨ Features

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

📂 Project Structure

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.

🎥 Demo

Click to watch demo video

The demo video is included in the repository under optifit app/assets/videos/demo.mp4.

Click the image above to open the video locally.

🚀 Getting Started

Ready to contribute? Follow our comprehensive setup guide to get both frontend and backend running:

📹 WebRTC Signaling Server

The server.js file provides a minimal backend signaling and room management implementation for live video workout sessions.

Setup

npm install [email protected] [email protected]
node server.js

The server will listen on port 3000 by default.

Features

  • Real-time signaling for WebRTC peer-to-peer connections
  • Room management for workout sessions
  • Broadcasting messages within rooms

Usage

Clients can connect via Socket.IO and join rooms to establish peer-to-peer video connections for collaborative workout sessions.


🤝 Contributing

We welcome contributions from everyone! Please check out our Contributing Guide for guidelines about how to proceed.

📜 License

Distributed under the MIT License. See LICENSE for more information.

🌟 Show Your Support

Give a ⭐️ if this project helped you!


Made with ❤️ by the OptiFit team

About

OptiFit is an AI-powered fitness application that analyzes exercise form through video processing, provides personalized workout guidance via AI chat, and tracks fitness progress across multiple platforms using Flutter and Python Flask. Learn more about the project

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 17