GymSight is a web application designed to enhance your workout experience by providing real-time feedback on exercise form using AI-powered video analysis. Select an exercise, record yourself performing it, and receive instant corrective guidance to improve technique and prevent injuries.
- Real-time Exercise Form Analysis: Get immediate feedback on your posture and movement.
- AI-Powered Video Processing: Leverages advanced AI models to understand exercise execution.
- Corrective Guidance: Receive actionable tips to improve your form.
- User-Friendly Interface: Easily select exercises and view feedback.
GymSight is built with a modern and efficient technology stack:
- Frontend Framework: Next.js - Handles routing, server-side rendering, and API endpoints.
- UI Components: Shadcn UI - Provides accessible and customizable UI components built on Tailwind CSS.
- AI/ML Abstraction: Genkit - Simplifies interaction with foundation models through a clean abstraction layer.
- Foundation Model: Google AI Gemini 2.0 Flash - Powers the core video analysis and feedback generation (accessed via the
@genkit-ai/googleaiplugin).
Here's a brief overview of the key directories and files:
├── src/
│ ├── app/
│ │ └── page.tsx # Main application component (camera, selection, AI integration)
│ ├── components/
│ │ └── ui/ # Reusable Shadcn UI components (Button, Select, Card, etc.)
│ ├── ai/
│ │ ├── ai-instance.ts # Genkit instance configuration and initialization
│ │ └── flows/
│ │ └── analyze-exercise-form.ts # Defines the Genkit flow for exercise analysis
│ └── ... # Other source files
├── public/ # Static assets
├── next.config.ts # Next.js configuration
├── tsconfig.json # TypeScript configuration
├── package.json # Project dependencies and scripts 1
└── README.md # This file Follow these steps to get GymSight running locally:
1. Prerequisites:
- Node.js (Version X.X.X or higher recommended - adjust as needed)
- npm, yarn, or pnpm
- A Google AI API Key (for Gemini access)
2. Clone the Repository:
git clone [https://github.com/your-username/gymsight.git](https://github.com/your-username/gymsight.git) # Replace with your repo URL
cd gymsight3. Install Dependencies:
npm install
# or
yarn install
# or
pnpm install4. Set Up Environment Variables:
# .env.local
GOOGLE_AI_API_KEY=YOUR_API_KEY_HERE5. Run the Development Server:
npm run dev
# or
yarn dev
# or
pnpm dev