Skip to content

meghanaNanuvala/Fitshot-Agent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

FitShot: Multi-Agent AI Personal Fitness & Nutrition Coach

This repository contains a multi-agent AI system built using Google’s Agent Development Kit (ADK).
FitShot acts as a personalized fitness coach that:

  • Assesses a user’s fitness level
  • Generates a structured weekly workout plan
  • Creates a nutrition plan aligned with the workout & goals

All powered through a Sequential Multi-Agent Pipeline.


📌 Project Overview

  • Built a three-stage reasoning pipeline using ADK SequentialAgent
  • Specialized sub-agents handle: Assessment → Workout Planning → Nutrition Planning
  • System tailors routines to (beginner/intermediate/advanced)
  • Deterministic, structured, explainable behavior
  • Fully runs inside a Kaggle Notebook
  • Demonstrates state passing, sequential workflows, and multi-agent orchestration

🚀 Features

✔ Fitness Assessment

Classifies user into:

  • Level: beginner / intermediate / advanced
  • Goal: fat_loss / muscle_gain / general

✔ Workout Plan Generator

Produces:

  • 7-day weekly routine
  • Exercise types (HIIT, strength, mobility, cardio)
  • Intensity scaling
  • Rest days

✔ Nutrition Plan Generator

Generates:

  • Daily calorie target
  • Macro breakdown
  • Meal ideas
  • Nutrition tailored to workout demands

✔ Multi-Agent ADK Pipeline

Uses:

  • AssessmentAgent
  • WorkoutPlannerAgent
  • NutritionPlannerAgent
  • All orchestrated by SequentialAgent (FitShotPipeline)

Every sub-agent writes into the shared state via output_key.


📐 Architecture

User Message
    ↓
AssessmentAgent  
    ↓
WorkoutPlannerAgent  
    ↓
NutritionPlannerAgent  
    ↓
Final Combined Output

State Passing:

  • AssessmentAgent → fitness_profile
  • WorkoutPlannerAgent → workout_plan
  • NutritionPlannerAgent → nutrition_plan

Agents read state using placeholders:

{fitness_profile}
{workout_plan}

📂 Repository Structure

├── fitshot_agent.ipynb        # Kaggle Notebook with full implementation
├── fitshot_agent.py           # Agent definitions (optional)
├── README.md                  # Documentation
└── assets/                    # Architecture diagrams (optional)

🎮 Example Run

User Input

“I’m a beginner and want fat loss workouts, preferably HIIT.”

AssessmentAgent Output

{
  "level": "beginner",
  "goal": "fat_loss"
}

WorkoutPlannerAgent Output

{
  "monday": "20-min low-intensity HIIT",
  "tuesday": "Full-body strength",
  "wednesday": "Rest/Mobility",
  "thursday": "HIIT",
  "friday": "Core + Strength",
  "saturday": "Cardio walk",
  "sunday": "Rest"
}

NutritionPlannerAgent Output

{
  "daily_calories": 1800,
  "macros": {"protein": 40, "carbs": 30, "fat": 30},
  "meals": [
    "Oats + berries",
    "Chicken bowl",
    "Salmon + veggies",
    "Green smoothie"
  ]
}

🧠 Key Learnings

  • Built a real-world concierge-style agent
  • Demonstrated ADK SequentialAgent workflow
  • Showed clean state passing between agents
  • Created an explainable, reproducible multi-agent pipeline
  • All runnable inside Kaggle with no backend

🛠️ Setup & Usage

1. Clone the repo

git clone https://github.com/<your-username>/fitshot-agent.git
cd fitshot-agent

2. Install dependencies

pip install google-adk

3. Add Google API Key

export GOOGLE_API_KEY="your_api_key"

4. Run the FitShot Pipeline

from google.adk.runners import InMemoryRunner
from fitshot_agent import root_agent

runner = InMemoryRunner(agent=root_agent)
response = await runner.run("I am a beginner wanting fat loss")
print(response)

🔮 Future Enhancements

  1. Personalized Daily Fitness Routine Delivery

    • Store each user’s long-term fitness profile and history.
    • Instead of generating only weekly plans, deliver daily workout plans automatically.
    • Send nutrition plans + hydration reminders directly to WhatsApp.
    • Deliver a daily motivation quote, aligned with the user’s fitness level and next-day workout intensity.
  2. Weekly Progress & Analytics Dashboard

    • Automatically estimate calories burned per workout and compute total weekly burn.
    • Provide a progress forecast based on user consistency (expected time to reach fat-loss / muscle-gain goals).
    • Compare planned vs. completed workouts and adjust next week’s routine dynamically.
  3. Smart Fitness Shopping Planner

    • Recommend essential equipment (resistance bands, dumbbells, mats, shoes) tailored to:
      • User level
      • Workout type
      • Budget
    • Maintain a shopping wishlist and upgrade suggestions over time.
  4. Healthy Food Discovery & Ordering System

    • Suggest healthy meal options from nearby stores or restaurants.
    • Integrate location-based recommendations:
      • High-protein meals
      • Low-calorie options
      • Smoothies, salads, meal-prep services
    • If the user confirms, the agent can:
      • Prepare the order
      • Interface with delivery services’ APIs (future integration)
      • Track recurring orders (meal-prep weekly routine)

📚 References

  • Google ADK Documentation
  • Gemini API
  • ACSM Fitness Guidelines
  • Multi-agent workflow patterns (Sequential, Loop, Parallel)

✨ Author

Meghana Nanuvala
Master's Student, Computer Science — Indiana University
Interests: AI/ML, Agentic Systems, Fitness Tech, Generative AI

About

A Multi-Agent AI Personal Fitness & Nutrition Coach

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors