💪 FitnessBae — Your AI Fitness Girlfriend 💕

FitnessBae is a real-time AI fitness coach that watches you work out through your camera and gives you live voice coaching — like having a supportive girlfriend cheering you on through every rep. 🏋️‍♀️

🎥 How It Works

FitnessBae uses Gemini's Live API for real-time multimodal interaction — it sees you through your webcam, listens to you via your mic, and talks back with voice coaching, all in real time.

  1. 🔑 Enter your Gemini API key
  2. 🎙️ Hit record to start your camera + mic
  3. 🗣️ Ask for a workout or just start exercising — she'll spot you!

✨ Features

  • 🎥 Live Camera Coaching — FitnessBae watches your form in real time and gives corrections ("Keep those hips up, babe!")
  • 🎤 Voice Interaction — Fully conversational, talk to her like a real coach
  • 📋 Exercise Library — 10 bodyweight exercises (push-ups, squats, lunges, planks, burpees, and more)
  • 🎲 Workout Generator — Ask her to create a random workout routine
  • ⏱️ Built-in Timer — Countdown timer for rest periods and timed exercises like planks
  • ✅ Exercise Tracking — Marks exercises as done when she sees you doing them
  • 💬 Text Chat — Can also type messages if you prefer

🛠️ Tech Stack

  • Next.js 15 + React 19
  • Gemini Live API (@google/genai) — real-time bidirectional audio + video streaming
  • Tailwind CSS 4 — styling
  • Web Audio API — audio input/output processing
  • TypeScript

🚀 Getting Started

pnpm install
pnpm dev

Open http://localhost:3000 and enter your Gemini API key to get started.

🧠 How the AI Works

FitnessBae connects to Gemini's bidirectional streaming API (bidiGenerateContent) which enables:

  • 📸 Sending live webcam frames for visual form analysis
  • 🎧 Streaming microphone audio for voice commands
  • 🔊 Receiving real-time voice responses from the AI
  • 🔧 Tool calls for exercise display, workout generation, timers, and progress tracking

The AI persona is an encouraging, supportive fitness girlfriend who celebrates every effort and gives specific, actionable form corrections — never harsh, always hype. 💖

Built With

Share this project:

Updates