Kennedy Johnson Cursor commited on
Commit
43eec29
·
1 Parent(s): 10631c5

Deploy MuscleGrowthAI panel to Hugging Face Space.

Browse files

Point Docker CONFIG_PATH at muscle_growth_config.yaml, add fitness personas, and update Space README frontmatter.

Co-authored-by: Cursor <cursoragent@cursor.com>

Dockerfile CHANGED
@@ -1,6 +1,6 @@
1
  # syntax=docker/dockerfile:1.7
2
  # ---------------------------------------------------------------------------
3
- # Cybersecurity Panel — single-container HuggingFace Spaces image.
4
  #
5
  # Mirrors the structural choices used by the working HF Spaces deployments
6
  # CCAI-Vibe-Demo and CU-Student-AIProject-Helper:
@@ -49,7 +49,7 @@ ENV HOME=/home/user \
49
  PYTHONUNBUFFERED=1 \
50
  CORS_ORIGINS=* \
51
  DATA_DIR=/data \
52
- CONFIG_PATH=/home/user/app/cybersecurity_config.yaml
53
 
54
  WORKDIR $HOME/app
55
 
 
1
  # syntax=docker/dockerfile:1.7
2
  # ---------------------------------------------------------------------------
3
+ # MuscleGrowthAI Panel — single-container HuggingFace Spaces image.
4
  #
5
  # Mirrors the structural choices used by the working HF Spaces deployments
6
  # CCAI-Vibe-Demo and CU-Student-AIProject-Helper:
 
49
  PYTHONUNBUFFERED=1 \
50
  CORS_ORIGINS=* \
51
  DATA_DIR=/data \
52
+ CONFIG_PATH=/home/user/app/muscle_growth_config.yaml
53
 
54
  WORKDIR $HOME/app
55
 
README.md CHANGED
@@ -1,16 +1,16 @@
1
  ---
2
- title: Cybersecurity Panel
3
- emoji: 🛡️
4
- colorFrom: indigo
5
- colorTo: blue
6
  sdk: docker
7
  pinned: false
8
  app_port: 7860
9
  ---
10
 
11
- # Cybersecurity Panel
12
 
13
- An AI-powered cybersecurity guidance system that provides expert advice through a panel of specialized advisor personas. Ask about threats, compliance, incident response, architecture, and career growth and get diverse perspectives from multiple AI advisors. Built on Neon AI's Collaborative Conversational AI (CCAI) framework.
14
 
15
  ## Hugging Face Spaces deployment
16
 
@@ -18,7 +18,7 @@ This Space ships as a single Docker image built from the repository root [`Docke
18
 
19
  1. Builds the React frontend (CRA) at image-build time with `REACT_APP_API_URL=""` so every `fetch` issues a relative URL.
20
  2. Serves the bundled SPA from FastAPI at `/`, with the API exposed on `/api/...`, `/auth/...`, etc., on the same `:7860` origin.
21
- 3. Persists user data (auth, profiles, chat sessions, onboarding, canvas state) in **SQLite via `aiosqlite`** at `${DATA_DIR}/cybersecurity_panel.db`. Mount a Hugging Face Storage Bucket at `/data` to make the database survive Space rebuilds — there is **no MongoDB**, **no Atlas**, no third-party data plane (the persistence pattern follows [`CU-Student-AIProject-Helper`](https://github.com/NeonClary/CU-Student-AIProject-Helper)).
22
 
23
  ### Required Space secrets
24
 
 
1
  ---
2
+ title: MuscleGrowthAI
3
+ emoji: 💪
4
+ colorFrom: purple
5
+ colorTo: violet
6
  sdk: docker
7
  pinned: false
8
  app_port: 7860
9
  ---
10
 
11
+ # MuscleGrowthAI
12
 
13
+ An AI-powered bodybuilding advisor panel that helps gym-goers build personalized hypertrophy plans programming, nutrition, recovery, form, and progress tracking from a panel of specialized fitness AI advisors. Built on Neon AI's Collaborative Conversational AI (CCAI) framework.
14
 
15
  ## Hugging Face Spaces deployment
16
 
 
18
 
19
  1. Builds the React frontend (CRA) at image-build time with `REACT_APP_API_URL=""` so every `fetch` issues a relative URL.
20
  2. Serves the bundled SPA from FastAPI at `/`, with the API exposed on `/api/...`, `/auth/...`, etc., on the same `:7860` origin.
21
+ 3. Persists user data (auth, profiles, chat sessions, onboarding, canvas state) in **SQLite via `aiosqlite`** at `${DATA_DIR}/muscle_growth_panel.db`. Mount a Hugging Face Storage Bucket at `/data` to make the database survive Space rebuilds — there is **no MongoDB**, **no Atlas**, no third-party data plane (the persistence pattern follows [`CU-Student-AIProject-Helper`](https://github.com/NeonClary/CU-Student-AIProject-Helper)).
22
 
23
  ### Required Space secrets
24
 
muscle_growth_config.yaml ADDED
@@ -0,0 +1,203 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # ============================================================================
2
+ # MuscleGrowthAI — Application Configuration
3
+ # Generated from advisor-panel-draft (MuscleGrowthAI) by Kennedy Johnson
4
+ # Modeled on CCAI-Demo-Clary FEAT_CybersecurityCanvas
5
+ # ============================================================================
6
+
7
+ app:
8
+ title: "AI Personalized Bodybuilding Plan"
9
+ subtitle: "AI Fitness Plan for Growth"
10
+ primary_color: "#7C3AED"
11
+ logo_icon: "Dumbbell"
12
+ footer_text: "© 2026 Kennedy Johnson. All rights reserved."
13
+ user_avatars:
14
+ - { id: "dumbbell-purple", icon: "Dumbbell", color: "#7C3AED", bg: "#F3E8FF" }
15
+ - { id: "user-blue", icon: "User", color: "#2563EB", bg: "#EFF6FF" }
16
+ - { id: "heart-red", icon: "HeartPulse", color: "#DC2626", bg: "#FEF2F2" }
17
+ - { id: "apple-green", icon: "Apple", color: "#059669", bg: "#ECFDF5" }
18
+ - { id: "trend-amber", icon: "TrendingUp", color: "#F59E0B", bg: "#FFFBEB" }
19
+ - { id: "shield-cyan", icon: "ShieldCheck", color: "#0891B2", bg: "#ECFEFF" }
20
+ - { id: "calendar-rose", icon: "CalendarRange", color: "#E11D48", bg: "#FFF1F2" }
21
+ - { id: "biceps-indigo", icon: "BicepsFlexed", color: "#4F46E5", bg: "#EEF2FF" }
22
+
23
+ homepage:
24
+ headline_prefix: "Develop an AI crafted personalized Body Building Plan"
25
+ headline_highlight: "Resourceful AI Fitness Content"
26
+ description: >-
27
+ Receive a plan that grows your muscles and tailors to your physical needs.
28
+ Specific fitness plans for your specific goals — from hypertrophy programming
29
+ and nutrition to recovery, form, and progress tracking.
30
+ features_title: "Why Use MuscleGrowthAI?"
31
+ features:
32
+ - title: "Well Crafted Fitness Plan"
33
+ description: "Step-by-step workout layouts for each muscle group with sets and reps to maximize growth, wellness, and hypertrophy."
34
+ icon: "ScanSearch"
35
+ - title: "Post-Workout Recovery"
36
+ description: "Post-workout tips for protein goals, dynamic stretches, and optional cardio based on your personalized goals."
37
+ icon: "HeartPulse"
38
+ - title: "Progress Tracker"
39
+ description: "Trackable metrics and progression guidance so you can measure gains and adjust your program over time."
40
+ icon: "TrendingUp"
41
+
42
+ login:
43
+ subtitle: "Sign up to build your dream physique"
44
+ signup_subtitle: "Create an account to see your definite progress"
45
+ knowledge_levels:
46
+ - { value: "", label: "Select your fitness level" }
47
+ - { value: "beginner", label: "Beginner" }
48
+ - { value: "intermediate", label: "Intermediate" }
49
+ - { value: "advanced", label: "Advanced" }
50
+ - { value: "in_between", label: "In-between" }
51
+ - { value: "at_home", label: "At-home gym-goer" }
52
+ - { value: "cardio_focus", label: "Run & Cardio" }
53
+ - { value: "strength_focus", label: "Strength Training" }
54
+ timezones:
55
+ - { value: "", label: "Select timezone (optional)" }
56
+ - { value: "America/New_York", label: "Eastern (US)" }
57
+ - { value: "America/Chicago", label: "Central (US)" }
58
+ - { value: "America/Denver", label: "Mountain (US)" }
59
+ - { value: "America/Los_Angeles", label: "Pacific (US)" }
60
+ - { value: "America/Anchorage", label: "Alaska (US)" }
61
+ - { value: "Pacific/Honolulu", label: "Hawaii (US)" }
62
+ - { value: "UTC", label: "UTC" }
63
+ academic_stages:
64
+ - { value: "", label: "Select your fitness level" }
65
+ - { value: "beginner", label: "Beginner" }
66
+ - { value: "intermediate", label: "Intermediate" }
67
+ - { value: "advanced", label: "Advanced" }
68
+ - { value: "in_between", label: "In-between" }
69
+ - { value: "at_home", label: "At-home gym-goer" }
70
+ - { value: "cardio_focus", label: "Run & Cardio" }
71
+ - { value: "strength_focus", label: "Strength Training" }
72
+
73
+ chat_page:
74
+ placeholder: "Ask about protein based on your macros, workout frequency for your schedule, or how to target a muscle group..."
75
+ examples:
76
+ - title: "Personalized Fitness Layout"
77
+ icon: "Dumbbell"
78
+ color: "#7C3AED"
79
+ bg_color: "#F3E8FF"
80
+ suggestions:
81
+ - "What muscles do I train to build a certain physique?"
82
+ - "What nutrients and foods should I prioritize to maintain my progress?"
83
+ - "Based on my schedule, how often should I workout to maintain growth?"
84
+ - title: "Hypertrophy & Programming"
85
+ icon: "BicepsFlexed"
86
+ color: "#2563EB"
87
+ bg_color: "#EFF6FF"
88
+ suggestions:
89
+ - "Design a 4-day split for chest, back, legs, and shoulders."
90
+ - "How many sets and reps should I use for bicep growth?"
91
+ - "When should I deload during a hypertrophy block?"
92
+ - title: "Nutrition & Recovery"
93
+ icon: "Apple"
94
+ color: "#059669"
95
+ bg_color: "#ECFDF5"
96
+ suggestions:
97
+ - "How much protein should I consume daily based on my macros?"
98
+ - "What should my post-workout meal look like for muscle gain?"
99
+ - "Which stretches help recovery after leg day?"
100
+ - title: "Form, Safety & Progress"
101
+ icon: "ShieldCheck"
102
+ color: "#F59E0B"
103
+ bg_color: "#FFFBEB"
104
+ suggestions:
105
+ - "How do I brace and breathe during heavy squats?"
106
+ - "What metrics should I track to see if I'm gaining muscle?"
107
+ - "How do I adjust my program if my joints feel sore?"
108
+
109
+ personas:
110
+ base_prompt: |
111
+ **Formatting (Compact Markdown v1):**
112
+ - Use GitHub-Flavored Markdown.
113
+ - Output exactly three sections in this order:
114
+ - `### Thought` — one sentence that reflects on the user's situation from YOUR perspective.
115
+ - `### What to do` — exactly 3 bullets, one line each, with practical actions.
116
+ - `### Next step` — one imperative sentence telling the user what to do now.
117
+ - Use `###` for headings and `-` for bullets.
118
+ - Insert one blank line between sections.
119
+ - Keep each section unique and non-repetitive.
120
+ - Prioritize safety: recommend consulting a physician for pain, injury, or medical conditions.
121
+ personas_dir: "personas/fitness_advisors"
122
+
123
+ orchestrator:
124
+ min_words_without_keywords: 6
125
+ conversation_history_token_threshold: 4000
126
+ specific_keywords:
127
+ - "muscle"
128
+ - "hypertrophy"
129
+ - "workout"
130
+ - "training"
131
+ - "gym"
132
+ - "lift"
133
+ - "rep"
134
+ - "set"
135
+ - "protein"
136
+ - "macro"
137
+ - "calorie"
138
+ - "bulk"
139
+ - "cut"
140
+ - "recovery"
141
+ - "stretch"
142
+ - "cardio"
143
+ - "form"
144
+ - "squat"
145
+ - "deadlift"
146
+ - "bench"
147
+ - "dumbbell"
148
+ - "barbell"
149
+ - "bodybuilding"
150
+ - "physique"
151
+ - "progress"
152
+ - "deload"
153
+ clarification_questions:
154
+ - "What is your primary goal — muscle gain, strength, recomposition, or general fitness?"
155
+ - "Which muscle group or training split are you asking about?"
156
+ - "What equipment do you have access to (commercial gym, home gym, dumbbells only)?"
157
+ - "How many days per week can you realistically train?"
158
+ clarification_suggestions:
159
+ - "Ask for a personalized workout split for your schedule"
160
+ - "Request protein and macro guidance for your goals"
161
+ - "Get post-workout recovery and stretching recommendations"
162
+ - "Upload a training log or program for review"
163
+
164
+ auth:
165
+ algorithm: "HS256"
166
+ token_expiry_minutes: 43200
167
+
168
+ mongodb:
169
+ database_name: "muscle_growth_advisor"
170
+
171
+ llm:
172
+ provider: "gemini"
173
+ gemini:
174
+ model: "gemini-2.5-flash"
175
+ ollama:
176
+ model: "llama3.2:1b"
177
+ vllm:
178
+ api_url: ""
179
+ api_key: ""
180
+ api_username: "guest"
181
+ model_id: ""
182
+ neon_persona_orchestrator: "vanilla"
183
+ neon_persona_advisors: "vanilla"
184
+ openai:
185
+ api_key: ""
186
+ model: "gpt-5.4"
187
+ orchestrator_reasoning_effort: "low"
188
+ persona_reasoning_effort: "none"
189
+ resilient:
190
+ race_timeout_seconds: 60
191
+
192
+ rag:
193
+ embedding_model: "all-MiniLM-L6-v2"
194
+ chroma_collection: "muscle_growth_documents"
195
+
196
+ tools:
197
+ current_datetime:
198
+ enabled: true
199
+ default_timezone: "America/Denver"
200
+
201
+ voice:
202
+ stt_endpoint: "https://whisper.neonaiservices.com"
203
+ tts_endpoint: "https://coqui.neonaiservices.com"
personas/fitness_advisors/form_safety_coach.yaml ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ id: form_safety_coach
2
+ name: "Form & Safety Coach"
3
+ role: "Technique, Breathing & Injury Prevention"
4
+ summary: "Precise & safety-first"
5
+ icon: "ShieldCheck"
6
+ temperature: 3
7
+ persona_prompt: |
8
+ You are a form and safety coach who teaches proper lifting technique for dumbbells, barbells, and machines.
9
+
10
+ **YOUR EXPERTISE:**
11
+ - Setup, bracing, breathing, and tempo for compound and isolation lifts
12
+ - Common form errors and how to correct them
13
+ - Warm-up progressions and load selection
14
+ - Safer alternatives when mobility or equipment is limited
15
+
16
+ **YOUR RESPONSE STYLE:**
17
+ - Break technique into clear, sequential cues
18
+ - Prioritize safety over ego lifting
19
+ - Recommend regressions or professional coaching when form risk is high
personas/fitness_advisors/hypertrophy_coach.yaml ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ id: hypertrophy_coach
2
+ name: "Hypertrophy Coach"
3
+ role: "Muscle Building & Program Design"
4
+ summary: "Structured & growth-focused"
5
+ icon: "BicepsFlexed"
6
+ temperature: 4
7
+ persona_prompt: |
8
+ You are an experienced hypertrophy coach who designs evidence-based bodybuilding programs for commercial and home gyms.
9
+
10
+ **YOUR EXPERTISE:**
11
+ - Training splits, volume landmarks, and progressive overload for muscle growth
12
+ - Exercise selection for chest, back, legs, shoulders, arms, and core
13
+ - Sets, reps, rest periods, and periodization for hypertrophy blocks
14
+ - Adapting programs to beginner through advanced lifters
15
+
16
+ **YOUR RESPONSE STYLE:**
17
+ - Be specific with exercises, sets, reps, and weekly structure
18
+ - Explain why each recommendation supports hypertrophy
19
+ - Ask about schedule, equipment, and experience when details are missing
personas/fitness_advisors/nutrition_strategist.yaml ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ id: nutrition_strategist
2
+ name: "Nutrition Strategist"
3
+ role: "Protein, Macros & Fueling"
4
+ summary: "Practical & goal-driven"
5
+ icon: "Apple"
6
+ temperature: 3
7
+ persona_prompt: |
8
+ You are a sports nutrition strategist focused on muscle gain, recovery, and sustainable eating habits for gym-goers.
9
+
10
+ **YOUR EXPERTISE:**
11
+ - Protein targets, calorie surplus/deficit, and macro splits for hypertrophy
12
+ - Pre- and post-workout nutrition timing
13
+ - Whole-food choices, meal ideas, and hydration
14
+ - Adjusting nutrition for bulk, cut, or recomposition phases
15
+
16
+ **YOUR RESPONSE STYLE:**
17
+ - Give concrete gram ranges and simple meal examples when possible
18
+ - Tie nutrition advice to the user's training goals and schedule
19
+ - Note when medical or dietary conditions require professional guidance
personas/fitness_advisors/program_planner.yaml ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ id: program_planner
2
+ name: "Program Planner"
3
+ role: "Scheduling, Tracking & Progression"
4
+ summary: "Organized & motivating"
5
+ icon: "CalendarRange"
6
+ temperature: 5
7
+ persona_prompt: |
8
+ You are a program planner who helps lifters build realistic schedules, track progress, and stay consistent over time.
9
+
10
+ **YOUR EXPERTISE:**
11
+ - Weekly training calendars based on availability and recovery needs
12
+ - Progress tracking metrics (weight, reps, measurements, photos, RPE)
13
+ - When to increase load, add volume, or deload
14
+ - Habit-building and accountability for commercial or at-home gym setups
15
+
16
+ **YOUR RESPONSE STYLE:**
17
+ - Turn goals into a clear weekly plan with measurable checkpoints
18
+ - Be encouraging but realistic about time commitments
19
+ - Suggest simple tracking templates the user can reuse each week
personas/fitness_advisors/recovery_specialist.yaml ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ id: recovery_specialist
2
+ name: "Recovery Specialist"
3
+ role: "Rest, Mobility & Post-Workout Care"
4
+ summary: "Restorative & balanced"
5
+ icon: "HeartPulse"
6
+ temperature: 4
7
+ persona_prompt: |
8
+ You are a recovery specialist who helps lifters optimize rest, mobility, and post-workout routines for long-term progress.
9
+
10
+ **YOUR EXPERTISE:**
11
+ - Sleep, deload weeks, and active recovery strategies
12
+ - Dynamic and static stretching for major muscle groups
13
+ - Optional cardio that supports hypertrophy without interfering with gains
14
+ - Managing soreness and training frequency
15
+
16
+ **YOUR RESPONSE STYLE:**
17
+ - Recommend practical recovery habits the user can start today
18
+ - Balance muscle growth goals with joint health and sustainability
19
+ - Flag red-flag pain or injury symptoms and recommend medical evaluation