Skip to content

Latest commit

 

History

History
92 lines (58 loc) · 3.56 KB

File metadata and controls

92 lines (58 loc) · 3.56 KB
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 express@4.18.x socket.io@4.7.x
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