A multi-agent fitness orchestrator built with the Google Agent Development Kit (
@google/adk) and powered bygemini-3.5-flash. It seamlessly synchronizes Strava workouts, nutrition logs, daily targets, and multimodal meal vision to engineer real-time, personalized recovery and athletic guidance.
🌐 Live Deployment: https://ai-assistant-zrxlwy37va-uc.a.run.app/
- ReAct Multi-Agent Orchestration: Driven by
@google/adkandgemini-3.5-flashto execute complex decision trees using custom tools. - Multimodal Meal Vision: Uses Gemini's native vision capability to analyze food photography, estimate macronutrients, and log meals instantly.
- Live Strava Integration: Connects with the Strava API v3 to pull exercise durations, distances, and training loads dynamically.
- Weekly Context-Aware Analysis: The daily assessment agent absorbs the user's weekly Strava workout stream, directly parsing and citing these workouts inside its personalized, detailed physical strain coaching reviews.
- Crisp Modular Card UI: The program blueprint onboarding page partitions heavy text into styled, interactive glassmorphic cards (Diagnostic, Training Split, Nutrition, Recovery, Actions) utilizing responsive grid layouts and hover animations to reduce cognitive bloat.
- Active Recovery & Catch-up Nutrition: When the agents detect metabolic or athletic gaps, they automatically prescribe tailored, active recovery workouts and target catch-up meals.
- Real-time Decision Tracing: Displays the agent's step-by-step thinking and tool execution trace directly in the UI.
- Graceful Cache Fallbacks: Built-in caching layers ensure the application remains fully functional for live demos even during API rate limits or network offline states.
The system runs a sequential-parallel delegation pipeline comprised of four distinct agents:
┌────────────────────────────────────────────────────────┐
│ Onboarding │
└──────────────────────────┬─────────────────────────────┘
▼
[PlanGeneratorAgent] (Zero-shot Creator)
│
▼
Tailored Long-Term Blueprint
│
┌──────────────────────────┴─────────────────────────────┐
│ Daily Check-in │
└──────────────────────────┬─────────────────────────────┘
▼
[AssessmentAgent] (ReAct Loop)
│
├─► Tool: get_targets
├─► Tool: get_meal_log
├─► Tool: get_training_log (Strava)
├─► Tool: analyze_meal_photo (Vision)
│
▼ (Evaluates Gaps)
│
┌─────────────┴─────────────┐ (Parallel Hand-off)
▼ ▼
[MealPlannerAgent] [WorkoutCoachAgent]
(Deficit Analyzer) (Recovery Advisor)
│ │
├─► Tool: suggest_meals └─► Tool: suggest_workout
│ │
└─────────────┬─────────────┘
▼
Unified Recovery Blueprint
PlanGeneratorAgent(Zero-shot Blueprint Creator): Calculates scientific metabolic markers (Relative Fat Mass body fat estimation, Mifflin-St Jeor BMR, and TDEE) during onboarding, and generates a structured, multi-week fitness plan.AssessmentAgent(The Auditor - ReAct Loop): Operates as an advanced ReAct loop. It dynamically determines when and how to invoke tools (get_targets,get_meal_log,get_training_log, andanalyze_meal_photo) depending on user inputs, compiling a daily performance score (0-100) and metric distribution.MealPlannerAgent(Catch-up Nutrition Expert): Consumes the macronutrient and caloric gaps generated by theAssessmentAgent. It executes thesuggest_mealstool to recommend hyper-targeted recovery foods to close the athlete's deficit before they sleep.WorkoutCoachAgent(Adaptive Athletic Advisor): Consumes the overall health score and training load compiled by theAssessmentAgent. It executes thesuggest_workouttool to dynamically recommend active recovery, mobility drills, or modified cardio based on today's strain.
- Frontend & Backend Core: Nuxt 3 (Vue 3, Nitro, H3)
- Styling & UI: TailwindCSS
- AI SDK:
@google/adk(Google Agent Development Kit) &@google/generative-ai - AI Engine:
gemini-3.5-flash - Deployment & Hosting: Google Cloud Run (Continuous Source Deploy)
- Third-Party Integration: Strava API v3
- Node.js (v18+)
pnpm(Recommended) ornpm- A Google Gemini API Key (Get one at Google AI Studio)
- Clone the repository:
git clone git@github.com:jaskanwal96/antigravity-coach.git cd google-hackathon - Install dependencies:
pnpm install
- Set up environment variables. Create a
.envfile in the root directory:GOOGLE_API_KEY="your_google_gemini_api_key" STRAVA_ACCESS_TOKEN="your_optional_strava_developer_token"
To launch the hot-reloading development server:
pnpm devOpen http://localhost:3000 in your web browser.
To visual, chat with, and debug your agents interactively:
- Install the dev tools package:
pnpm install -D @google/adk-devtools
- Run the local visual server:
Open
npx adk web
http://localhost:8000to access the complete developer trace dashboard.
The project is configured for direct source-to-service deployments.
To build and deploy a new revision to your live Cloud Run service, ensure your gcloud CLI is authenticated and run:
# 1. Set your Gemini API key in your current terminal
export GOOGLE_API_KEY="your_key_here"
# 2. Trigger the deploy script
./deploy.shThis will automatically bundle the workspace, upload it to Cloud Build, package it using Google Cloud Buildpacks, and deploy a new revision to your Cloud Run container instance.