A full fitness product built from workout tracking to AI, mobile, and subscriptions.
MuscleBot is a cross-platform fitness, nutrition, and recovery application combining workout logging, adaptive nutrition, AI coaching, Android Health Connect, push notifications, and subscription infrastructure.
Fragmented Fitness Tools & The Productization Challenge
Fitness users frequently juggle 3–4 disconnected applications: one for workout logging, one for calorie counting, one for wearable sleep/recovery metrics, and another for training advice.
- Disjointed user experience across multiple single-purpose apps
- Lack of unified recovery-aware workout progression
- Manual, tedious food logging requiring exact grams and barcode scans
- The product-engineering challenge of combining web, native Android, AI, and monetization
Can a small engineering effort turn a broad fitness concept into an actual cross-platform product with mobile integrations and monetization?
System Overview & Capabilities
MuscleBot combined training, nutrition, wearable recovery, and AI coaching into a unified cross-platform product.
- Training: 1,300+ exercises, structured set logging, rest timer, 14-muscle anatomical heatmap
- Nutrition: Natural-language food parser, deterministic macro recalculation, adaptive TDEE trends
- Recovery: Android Health Connect sleep and activity ingestion, 0–100 readiness engine
- AI Coaching: Dual-model architecture (DeepSeek for reasoning + Groq for rapid parsing)
- Mobile Packaging: Capacitor 8 Android app (v1.0.5, versionCode 25) with push notifications & native back handling
- Subscriptions: RevenueCat + Google Play Billing with database-enforced feature tier limits
Data Flow & Infrastructure
React 19 + Vite SPA (TanStack Query Offline Cache)
↓
Supabase Auth + PostgreSQL Database
↓
AI Pipelines (DeepSeek Reasoning + Groq Fast Parsing)
↓
Capacitor 8 Native Bridge (Android v1.0.5)
├── Android Health Connect (Sleep window 18:00+, steps, energy)
├── RevenueCat / Google Play Billing (Subscriptions)
├── FCM Push Notifications (Hourly Edge Functions)
└── Native Haptics, Status Bar, Back NavigationDual-Model AI Architecture & Deterministic Macro Calculation
Choosing the right model for the job and recalculating nutrition deterministically
MuscleBot deliberately separates AI workloads across two specialized providers: DeepSeek is utilized for conversational AI coaching, workout generation, and progress reports where reasoning depth matters; Groq (Llama 3.3 70B) is utilized for instant natural-language food parsing and meal plan recalculation.
Crucially, the application never trusts raw model calorie arithmetic. The LLM extracts food quantities and estimated macros (protein, carbs, fat), and the application deterministically calculates calories via: Calories = (Protein × 4) + (Carbs × 4) + (Fat × 9).
Use a fast structured-model path for extraction-heavy operations and a more reasoning-oriented path for conversational or planning tasks, while keeping arithmetic deterministic.
Engineering Details
14-Muscle Group Training Volume Engine
Exercises are mapped to primary and secondary muscle groups. Secondary muscles receive a 40% volume allocation relative to primary movement contribution, visualized via an anatomical heatmap.
- Sets persisted as JSON (weight, reps, rpe, set_type).
- Calculates cumulative volume load (Volume = weight × reps).
- Visualizes fatigue and volume distributions across 14 muscle groups.
Deterministic Readiness Engine (40 / 35 / 25)
Generates a 0–100 daily readiness score combining wearable telemetry with workout history.
- Sleep duration (40% weight): Sourced from Health Connect with overnight window starting at 18:00.
- Recovery duration (35% weight): Days elapsed since last strenuous training session.
- Volume strain (25% weight): Previous-day training volume relative to the 7-day rolling average.
Capacitor 8 Native Android Engineering
Reaching Android release v1.0.5 (versionCode 25) required solving platform-specific native behaviors.
- Intercepting hardware back-button navigation to dismiss modals/drawers without exiting.
- Managing software keyboard resize and viewport reflow during food logging.
- Health Connect permissions handling and sleep session boundary queries.
- RevenueCat subscription entitlement sync into Supabase with tiered feature limits.
FCM Push Notifications & Edge Functions
Firebase Cloud Messaging HTTP v1 integrated with Supabase Edge Functions running hourly cron jobs to deliver automated AI progress reports.
System Centerpiece & Inspection
Inspect the live execution state, benchmarks, security boundaries, and architectural guarantees.
“2 roti with chicken curry and a spoon of butter”
- Whole Wheat Roti (2 pcs): ~30g carbs, 6g protein
- Chicken Curry (150g): ~28g protein, 10g fat
- Butter (1 tbsp / 14g): ~11g fat
The application does not trust raw model calorie arithmetic. Macros are extracted and recalculated deterministically:
Rigorous Verification Evidence
versionCode 25 compiled & deployed
Categorized with 14-muscle mappings
Sleep (40%), rest (35%), volume (25%)
DeepSeek (reasoning) + Groq (parsing)
Natural Language Meal Parsing & Macro Balancing
User inputs conversational text: '2 roti with chicken curry and a spoon of butter'.
Groq (Llama 3.3 70B) decomposes meal into individual ingredients and portions
Extracts estimated protein, carbohydrate, and fat values per item
Frontend clamps macro bounds and deterministically calculates calories (P×4 + C×4 + F×9)
User adjusts portions interactively in UI with instant arithmetic recalculation
Saves meal log to Supabase and updates daily calorie/macro budget bars
Fast, frictionless nutrition logging with mathematically consistent calorie totals.
Engineering Capabilities Proven
Disciplined Technical Claims
- MuscleBot is a technically complete product experiment that was commercially discontinued after market evaluation.
- The product does not claim a large user base, profitable SaaS revenue, or iOS application support.
- Natural-language calorie estimation is an LLM estimation workflow, not a certified clinical nutritional database.
- The codebase does not contain a dedicated automated unit/E2E test suite; evidence is based on working product architecture and Android release.
Engineering Retrospective
Building the product and validating the business are separate problems. Recognizing when additional engineering will not fix a weak commercial position is itself a critical engineering skill.
Feature Breadth Is Not Differentiation
A product can combine many technically impressive features and still resemble established products with superior distribution.
Distribution Dominates Consumer Software
In crowded consumer categories, engineering quality alone does not solve user acquisition against incumbents with proprietary databases.
Commercial Judgment
Deciding to discontinue commercial startup pursuit and open-source the codebase saved engineering focus for higher-leverage systems.