Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FitMaxx - AI-Powered Form Analyzer

FitMaxx is a web-based form analyzer that uses Google Gemini AI to analyze exercise form from uploaded videos or images. Get instant feedback, detailed scoring, and personalized recommendations to improve your workout technique.

Features

  • 10 Exercise Categories: Analyze form for squats, bench press, overhead press, deadlifts, plank, pull-ups, dips, bicep curls, rows, and lunges
  • AI-Powered Analysis: Uses Google Gemini API for intelligent form assessment
  • Detailed Scoring: Get scores out of 10 with breakdown by specific criteria
  • Personalized Feedback: Receive strengths and recommendations tailored to your form
  • Video & Image Support: Upload either videos or images for analysis
  • Beautiful UI: Modern, responsive interface built with Material-UI

Getting Started

Prerequisites

  • Node.js (v16 or higher)
  • npm or yarn
  • Google Gemini API key (Get one here)

Installation

  1. Clone the repository:
git clone <repository-url>
cd FitMaxx
  1. Install dependencies:
npm install
  1. Set up your environment variables:
    • Create a .env file in the root directory
    • Add your Gemini API key:
VITE_GEMINI_API_KEY=your_api_key_here
  1. Start the development server:
npm run dev
  1. Open your browser and navigate to http://localhost:5173

How to Use

  1. Select an Exercise: Choose from 10 different exercise categories
  2. Upload Media: Upload a video or image showing your exercise form
  3. Get Analysis: Click "Analyze My Form" and wait for AI-powered results
  4. Review Feedback:
    • Overall score out of 10
    • Detailed breakdown by criteria (stance, alignment, control, etc.)
    • List of strengths in your form
    • Specific recommendations for improvement

Supported Exercises

  1. Squats - Back and front squats
  2. Bench Press - Powerlifting essential
  3. Overhead Press - Military press
  4. Deadlifts - Conventional and sumo
  5. Plank - Position and posture
  6. Pull Ups - Calisthenics master
  7. Dips - Upper body power
  8. Bicep Curls - Isolation master
  9. Rows - Back builder
  10. Lunges - Leg sculptor

Evaluation Criteria

Each exercise is evaluated based on specific criteria with weighted percentages:

  • Stance and Setup: Proper positioning and grip
  • Alignment: Spinal and joint alignment
  • Range of Motion: Full movement execution
  • Control: Smooth, controlled movements
  • Stability: Core engagement and balance
  • Technique-Specific Points: Unique to each exercise

Technology Stack

  • Frontend: React 18 with TypeScript
  • UI Framework: Material-UI (MUI)
  • AI/ML: Google Gemini API
  • Build Tool: Vite
  • Routing: React Router

Project Structure

FitMaxx/
├── src/
│   ├── components/
│   │   ├── FormAnalyzer.tsx      # Main application component
│   │   ├── VideoUpload.tsx       # File upload component
│   │   └── AnalysisResults.tsx   # Results display component
│   ├── services/
│   │   └── geminiService.ts      # Gemini API integration
│   ├── constants/
│   │   ├── exercises.ts          # Exercise definitions
│   │   └── evaluationCriteria.ts # Detailed evaluation criteria
│   ├── types/
│   │   └── index.ts              # TypeScript type definitions
│   ├── App.tsx                   # Main app component
│   ├── main.tsx                  # Application entry point
│   └── index.css                 # Global styles
├── .env                          # Environment variables (not in git)
├── .env.example                  # Example environment file
└── package.json                  # Dependencies and scripts

Tips for Best Results

  1. Good Lighting: Ensure your video/image is well-lit
  2. Clear Angle: Capture side and/or front views as recommended for each exercise
  3. Full Body: Include your entire body in the frame
  4. Multiple Reps: For videos, perform 2-3 reps for better analysis
  5. Stable Camera: Keep the camera steady and centered

Development

Available Scripts

  • npm run dev - Start development server
  • npm run build - Build for production
  • npm run preview - Preview production build
  • npm run lint - Run ESLint

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License.

Acknowledgments

  • Google Gemini AI for powering the form analysis
  • Material-UI for the beautiful component library
  • The fitness community for exercise form guidelines

Support

For issues, questions, or suggestions, please open an issue on GitHub.


Built with ❤️ for fitness enthusiasts everywhere!

About

FitMaxx is a web-based form analyzer that uses Google Gemini AI to analyze exercise form from uploaded videos or images. Get instant feedback, detailed scoring, and personalized recommendations to improve your workout technique.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages