This is a submission for the Google AI Studio Multimodal Challenge
What I Built
Introducing Kinetix Fitness AI: an intelligent training partner and Fitness tracker that solves the biggest problem with fitness apps: generic, one-size-fits-all plans. It creates a truly personalized and adaptive workout experience that grows and changes right alongside you.
The app guides the user through a seamless, AI-driven fitness journey:
A Plan That's Truly Yours: The experience begins with a detailed profile. You tell the AI your fitness level, goals, available equipment, and even your height, weight, and any injuries. The AI uses this to craft a plan that is 100% yours.
Smart & Safe Sessions: Each workout begins with a custom, AI-generated warm-up. During the session, an automated rest timer guides you. If an exercise doesn't feel right, you can instantly swap it for an AI-suggested alternative.
Effortless Progression: After each exercise, you give simple feedback ("Easy", "Good", "Hard"). When you finish your weekly plan, the AI analyzes your performance and this feedback to automatically generate your next, more challenging plan. You never plateau.
Motivation & Insights: To keep you engaged, the app tracks your workout streak and provides AI-powered summaries of your performance, highlighting your achievements.
Kinetix stands out by creating a smart feedback loop. Your performance directly informs the AI's next move, making every plan a precise, effective, and safe step forward in your fitness journey.
Demo
Live App Link: https://kinetix-fitness-ai-1083848138513.us-west1.run.app/
Github Repo Link: https://github.com/Alverto-Ortega/kinetic-fitness-ai.git
Screenshots:
Planner - Deep Customization | Dashboard - Your Week at a Glance |
---|---|
|
|
Active Workout - Guided Session | AI Physique Analysis - Visual Progress |
|
How I Used Google AI Studio
Kinetix is powered by the Gemini API, using the gemini-2.5-flash
model as the application's core "brain." My main goal was to make the AI not just a feature, but a reliable and intelligent foundation for the entire user experience.
My core strategy was to master Gemini's JSON Mode. Instead of asking the AI for plain text and trying to guess its structure, I command it to respond with perfectly formatted, structured data. This transforms the AI from a creative writer into a dependable backend, which is the key to the app's stability.
Here are the key ways Kinetix uses the Gemini API:
Structured Plan Generation: My main prompt is a detailed set of instructions for an "expert fitness coach" persona. It combines the user's profile, critical safety rules for injuries, and past performance data to generate a complete workout plan as a clean JSON object that the app can use instantly.
On-the-Fly Intelligence: This JSON-first approach powers all the small, smart features that make the app feel alive, from generating tailored warm-ups to finding context-aware exercise alternatives on the spot.
Multimodal Physique Analysis: I used Gemini's ability to understand images and text simultaneously. By sending a user's photo along with a prompt containing strict safety rules, the AI can provide a motivational visual assessment.
Multimodal Features
I implemented two distinct multimodal functionalities that are critical to the app's success: one for a key user feature, and one for ensuring the app is incredibly reliable.
Feature 1: AI Physique Analysis, Image + Text
This feature demonstrates the classic multimodal capability of combining different data types in a single prompt.
How it Enhances the Experience: This feature brings progress to life. It gives users a way to track their transformation that's more tangible and motivational than just numbers on a screen. By combining the image with a text-based safety prompt, the feature is delivered in a responsible and encouraging way.
How it Works: The user uploads a photo. The app sends the image data to Gemini along with a text prompt that sets the rules for the analysis (e.g., "be motivational," "do not give medical advice"). The AI processes both at once to provide its textual feedback.
Feature 2: Reliable AI with Structured JSON Output (Text to JSON)
This leverages the model's ability to output a different modality of data (structured JSON) from a text input, which is a powerful and technically sophisticated use of multimodality.
How it Enhances the Experience: This is the secret to the app's professional feel. It eliminates the errors and unpredictable formatting common in many AI apps, ensuring the user gets a perfect workout plan every time. Especially useful for importing and exporting your complete personal fitness journey data used on this app to keep your workout history. This technical choice results in a seamless, trustworthy, and frustration-free experience.
How it Works: For almost every AI request, I provide a detailed text prompt but instruct the Gemini API to respond in the "modality" of structured JSON, not plain text. I provide it with a strict schema, and the model's output is guaranteed to match my app's data structures perfectly, making it a robust and dependable backend for the application.
Example of the AI-Generated JSON for Users’ Fitness Data Before Starting a Workout
- Workout plan: One day per week, Beginner fitness level, barbell equipment, and other optional choices auto-generated by AI. Includes AI-analyzed summary of the user's initial 'before' picture.:
{
"plan": [
{
"day": "Wednesday",
"goal": "Full Body Strength",
"targetBodyParts": "Chest, Back, Legs, Shoulders, Arms",
"exercises": [
{
"name": "Barbell Squats",
"sets": "3",
"reps": "8-10",
"rest": 90,
"suggestedWeight": "65 lbs"
},
{
"name": "Barbell Bench Press",
"sets": "3",
"reps": "8-10",
"rest": 90,
"suggestedWeight": "65 lbs"
},
{
"name": "Bent-Over Barbell Rows",
"sets": "3",
"reps": "8-10",
"rest": 90,
"suggestedWeight": "45 lbs"
},
{
"name": "Standing Barbell Overhead Press",
"sets": "3",
"reps": "8-10",
"rest": 90,
"suggestedWeight": "45 lbs"
},
{
"name": "Barbell Bicep Curls",
"sets": "3",
"reps": "10-12",
"rest": 60,
"suggestedWeight": "40 lbs"
},
{
"name": "Barbell Triceps Extensions (Skullcrushers)",
"sets": "3",
"reps": "10-12",
"rest": 60,
"suggestedWeight": "30 lbs"
}
]
}
],
"workoutHistory": [],
"analysisHistory": [
{
"date": "2025-09-15T03:58:04.179Z",
"result": "Here's a Kinetix analysis of your impressive physique:\n\n1. **Overall Impression:** You've clearly put in dedicated effort, building a solid and balanced foundation!\n2. **Key Strengths:**\n * **Shoulder Definition:** Your deltoids show good shape and development, particularly in the anterior and lateral heads, contributing to a strong upper body silhouette.\n * **Arm Muscularity:** There's noticeable size and shape in your arms, indicating consistent work on both biceps and triceps.\n * **Forearm Strength & Leanness:** Your forearms exhibit impressive leanness and visible vascularity, highlighting your overall conditioning and grip strength.\n3. **Areas for Focus:**\n * **Core Definition:** Focusing on targeted core exercises can further enhance abdominal separation and overall midsection leanness.\n * **Upper Chest Development:** Incorporating movements that specifically target the upper pectorals can add more fullness and balance to your chest, complementing your strong shoulders.\n * **Triceps Detail:** While your arms are strong, isolating the triceps more intensely could bring out greater detail and separation, enhancing arm aesthetics.\n4. **Actionable Tip:** To boost your upper chest development, try incorporating **Incline Dumbbell Presses** with a controlled tempo into your routine."
}
],
"streak": {
"current": 0,
"lastWorkoutDate": ""
},
"preferences": {
"fitnessLevel": "Beginner",
"daysPerWeek": "1",
"duration": "",
"equipment": [
"Barbell"
],
"desiredGoals": [
""
],
"excludedGoals": [],
"specificDays": [],
"height": "5'9",
"weight": "150",
"injuries": ""
},
"completedDays": [],
"hasCompletedFirstPhase": false
}
- Example JSON showing post-workout data.
"workoutHistory": [
{
"date": "2025-09-15T06:05:50.249Z",
"day": "Monday",
"exercises": [
{
"exerciseName": "Barbell Squat",
"sets": [
{
"reps": 9,
"weight": 50
},
{
"reps": 8,
"weight": 55
}
]
}
]
}
],
"analysisHistory": [],
"streak": {
"current": 1,
"lastWorkoutDate": "2025-09-15T06:05:50.249Z"
},
Try the app yourself, it’s a wonderful experience that can greatly enhance your fitness journey. I’m already following the plan generated by this elegant Fitness AI, and it’s been both motivating and easy to use.
Peace, love and good Health! :)
Top comments (0)