Spaces:
Sleeping
Sleeping
File size: 64,876 Bytes
72c3024 8beb975 72c3024 8beb975 72c3024 8beb975 72c3024 b284fd8 72c3024 b284fd8 72c3024 8beb975 72c3024 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 | """
IGNITE PERFORMANCE & HEALTH β WELLNESS ASSESSMENT LEAD MAGNET CONFIGURATION
============================================================================
This is the master configuration file for the Streamlit wellness assessment lead magnet app.
ARCHITECTURE:
All content, branding, clinical data, pricing, and AI prompts are defined HERE β not scattered
in the app logic. This extraction makes the app a reusable template engine:
- To create a different lead magnet: create a new config.py (with different products, prices, tone)
- To update brand assets, clinical data, or tone: edit this file only
- The app logic remains unchanged across deployments
USAGE:
import config
brand_name = config.BRAND["name"]
programs = config.WELLNESS_PROGRAMS
system_prompt = config.PATHWAY_SYSTEM_PROMPT
"""
# ==============================================================================
# BRAND CONFIGURATION
# ==============================================================================
BRAND = {
"name": "Ignite Performance & Health",
"tagline": "The Ignition Sequenceβ’ β Science Β· Strength Β· Nutrition",
"product_name": "Ignition Sequenceβ’",
"assessment_title": "Online Assessment",
"address": "14830 Clayton Rd, Chesterfield, MO 63017",
"phone": "(314) 887-0858",
"email": "info@ignitepah.com",
"website": "www.ignitepah.com",
"scheduling_url": "https://calendly.com/derek-ignitepah/initial-consultation",
"colors": {
"navy": "#023047",
"teal": "#219ebc",
"sky": "#8ecae6",
"orange": "#f58300",
"amber": "#ffc533",
"white": "#ffffff",
},
"disclaimer": (
"This assessment is for informational purposes only and does not constitute medical advice. "
"All treatment programs require physician evaluation, approval, and ongoing supervision. "
"Medical therapies are prescribed and monitored by licensed physicians."
),
}
# ==============================================================================
# LOGO (BASE64 PLACEHOLDER)
# ==============================================================================
# Base64-encoded logo β replace with your brand's logo
LOGO_B64 = "data:image/png;base64,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Nf/t7u5+ffLkyVf+61//+lRVVdXH2tvbd164cOEd8CJPV61aZe22225q1apVZ1VVVTnGmCeYecrQ0NCfq6qq4syc9L+bTqfZGGPtscceufvvv//k9773vb0bNmy4IJvNdgGY789RKcVCCM2b54yWeQuUTqczg4OD/UIIaYzhgYGBsXJQNAARiUS+mcvlrmLmKatXr749FAr977Jly04SQvz7tddeCwFQxhhtWdbU+fPn371x48Yr586d+5+DDjroeCJKj7a5kskkzZs3j+bPn++vN28phRmAtCyrv66u7gXLsmxv3EnMfEwZDoGBgYEhrXW/ZVkin88Prlq1Ch64mZlRXV3dysz/YOYmAC8PDg72NzU1nU9El69cuVIiUPSyra1NxmIxtLa20vz587mlpUV3dXUZIjLPP/+8f6gaX09pbW31ASZDoVBnbW3tC0II2xijpJTaGDMX6XS6r7u7++Genp4/d3V1Xb9hw4bP+KekLyK88sorP+/v739wLBGru7v7olQqNbB69eob1q1b92etNb/66qvfDbB68kWsVatWXTiaiLV+/fpbBgcHnx75+csvv/zJdDrNDz744FSfNS5ZsuQ7uVyud/Xq1TesXbv2z4VCgV999dUfjzSjZjKZJ3t7ey/0Tq7nU6mUWr9+/fe88ZYw8+eC99vT0/N0b29vz7p1615Zt27divXr17/qOA4//vjjR/ps/I9//GOkt7d34MEHHzwdAJ5++un3DgwM6N7e3pfXrVt3e/B6vb29z/T29v6+3Ekd5A6pVGr1/fff/9HxiFe+eLF8+fL3O47Da9euXbZ+/foVa9asebm/vz/V2dl5r3ftkCcy/ry3t/fxgNjyQGdn56aenp6+fD6/X3AeSqk1zHxkcLzHH398ntaaOzo6xhSxVqxYcUcul/tD8LMXXnhhUm9vb76MiJW9/PLLdxlNtHrwwQf3ymQyvH79+pXr1q1bsXbt2le7urq6BgcHX/UOTOk900/19PRsGGudnn/++S/19/evCophARHr2bVr1w4TsR555JFTe3p6lAWg8YUXXrjs+OOPv73c/gcAKaUOhUIzXnnllROFEBYzG2Y22Wz2MQA5AAiFQjXpdHrD7NmzPwUAL730UnLmzJk3r1mzJjlr1qzl3mbQQgirqqoq4j0MC4AiIm5tbWVmpsWLF1908MEHP9fd3X3PwMDA5ZFIpFcI8d7a2tr/6e3t/epxxx3niwV5KWW9MWa1P+Zzzz1345w5c/65YsWKm4UQLxpjbADGsizpcUN0d3d/m4haW1tbf8bMtGnTJvIPBCJyXn755Q9JKfe9884793/22Wczu+yyi7VixQrne9/73i/322+/HwE43hhDf/rTnyCltI0x2vNB3PvSSy+dv88++/wuk8l0BLne0qVLPzdnzpyHurq6kM/nrwuHw47W+sJ0Ol23++67f9hfm1AopHfdddfosmXLeohIMrPp6urqe8973vPUyAfT3NxsmJmGhoZ+snHjxisuu+yyy2bPnh3auHGjc9xxx82IRqNPr1ix4nAietKX4KSUkogMM8uLL7749NbW1qerq6v36urqCqYTk5SSBgcHj3nxxRerJk2aJIUQB9XU1FzS2dl57bx58x7zlFs9iojli2cWgBCAQnd393QppS1EqdFmJpMh27bFqaeeeuZpp522hIiEEMKsWbNmLYBlAHDggQf+z9DQ0ANXXHHF2TNmzLB7enpMfX29ff755z+/YcOGTxPRnzwRicPhcM1LL7200LIsaK1JKVXo6Oh4rLm5uSiOCyHKmtctyxKhUKjBU9Ij06ZNy7300kuTLcuS1qZNmzaEw2Gbma1Vq1ZZc+bMUQA0EfHixYvhcYd1kyZNaqytrU36JwURwXGcI4ioAwA6OzuHtNY93ucWEf1z1apV/0qn0z8ioph/OvX29m7M5/Pp6dOn86JFi3jhwoUMuIWfW1tbaeHChRtvueWWI08++eQrJ0+efGs4HFaZTCazZs2az8ybN+8GZhaLFy/WADA0NNTb1dU1EBjz3jVr1tyYz+d/wsyn+gDv6enpyWazg8yM+fPn3wPgXnZ3NXd0dGysqqoK5n9/sq+v7/cf//jHhyl055577g+z2ewDf/3rX3clotevuOIK6u7u3pDJZDJExMuWLQvvtdde165Zs6Z5aGjICohAtN9++z336KOPRnffffdrGxoa7iAinU6nlzuOc7G3Luyt82sNDQ0fLRQKZxMRCyFkLpd7CsDxHgjZP2GJyNx2220HHXjggVNfe+21y6688spN/lwvv/zyjcuXL7+jUCh8BsCTns7Ul8vlejzjhrzsssuGTj/99DN23333O3t7e4cp/t3d3WuVUj+YNGkSpJSIRCJr+vv7v7Xrrrv+xht7MzHL3ysDAwPdmzZtys6YMUMtWbJE7Lfffurll1/Oh0Kh9YVCoQjE7u5uMzAwsKahoaFVa01EpIUQVnV19U1E9P+uu+66qV1dXcd2d3d//IorrugMjnXmmWdenc/nPwfgegC8fv36gVmzZuXr6+tvY2YhhKBsNtvd2dm5vxAi5Vkdh7q7uzeVA0hnZ2d3oVAYmDZtmlq2bJkzffp09eijjw6GQqEN/x+fOXDpZ5m20QAAAABJRU5ErkJggg=="
# Note: The actual Ignite logo base64 string should be pasted here from the original app.py
# ==============================================================================
# SERVICE MECHANISM OF ACTION
# ==============================================================================
# Detailed clinical descriptions of each service offered
SERVICE_MOA = {
"TRT": "Testosterone replacement gets your levels back where they should be. Think of it like topping off an engine that has been running low: physician-monitored, bioidentical protocols, dialed in over time based on your labs and how you feel. We monitor your levels and track your labs the whole way.",
"HRT": "Hormone replacement for women whose estrogen, progesterone, or both have dropped below the line where the body works well. The changes you might be feeling are not mysteries β they are predictable responses to hormone decline. We correct the levels and monitor the results.",
"GLP-1 Therapy": "GLP-1 medications turn down the appetite signal, slow digestion, and influence how your body handles insulin. The medication is an accelerator, not a solution. Without nutrition and, ideally, resistance training alongside it, you risk losing lean mass. Lean mass is retirement funds: you do not cash those out.",
"Strength Training": "Resistance training is the foundation everything else gets built on. It builds lean mass, raises your metabolic rate, strengthens your bones, and improves hormone signaling. If you add medications later, training is what makes them work better.",
"Supplement Protocol": "Physician-selected supplements that fill specific gaps your labs reveal. Not a cabinet full of guesses. We pick pharmaceutical-grade products based on your bloodwork and adjust as things change.",
"IV Therapy": "IV infusions deliver vitamins, minerals, and amino acids directly into your bloodstream. Useful when oral supplements are not the right fit or when faster recovery is the goal.",
"Lab Diagnostics": "Blood panels and biomarker testing that give us the actual numbers behind every decision. We draw baselines, track your progress, and catch problems early. No guessing.",
"Nutrition Coaching": "A meal plan built around your goals, your body composition, and whatever else you have going on clinically. Medication without nutrition is a half-measure. We make the two work together.",
}
# ==============================================================================
# SERVICE CONTRAINDICATIONS
# ==============================================================================
SERVICE_CONTRAINDICATIONS = {
# HRT includes TRT β all TRT contraindications are merged here
"HRT": [
"Pregnancy or breastfeeding",
"Active or history of cancer",
"History of blood clots or DVT",
"Cardiovascular disease",
"Active liver disease",
"Polycythemia or elevated hematocrit", # TRT-specific
"Severe sleep apnea (untreated)", # TRT-specific
"History of stroke", # TRT-specific
],
"GLP-1 Therapy": [
"Pregnancy or breastfeeding",
"Personal or family history of medullary thyroid cancer",
"History of pancreatitis",
"Severe gastrointestinal disease",
],
"Strength Training": [
"Acute injury or post-surgical restriction",
"Cardiovascular disease",
],
"Nutrition Coaching": [],
"Lab Diagnostics": [],
}
ALL_CONTRAINDICATION_FLAGS = [
# HRT / TRT
"Pregnancy or breastfeeding",
"Active or history of cancer",
"Cardiovascular disease",
"History of blood clots or DVT",
"Active liver disease",
"History of stroke",
"Polycythemia or elevated hematocrit",
"Severe sleep apnea (untreated)",
# GLP-1
"Personal or family history of medullary thyroid cancer",
"History of pancreatitis",
"Severe gastrointestinal disease",
# Strength Training
"Acute injury or post-surgical restriction",
# Opt-out
"None of the above",
]
# ==============================================================================
# TRAINING TIERS
# ==============================================================================
TRAINING_TIERS = {
"Premiere": {
"label": "Premiere",
"training_desc": "One-on-One Expert Coaching 3x/Week",
"sort_order": 1,
},
"Crew": {
"label": "Crew",
"training_desc": "Small Group Training 3x/Week",
"sort_order": 2,
},
"Crew Hybrid": {
"label": "Crew Hybrid",
"training_desc": "Small Group Training 2x/Week",
"sort_order": 3,
},
"Hybrid": {
"label": "Hybrid",
"training_desc": "Small Group Training 1x/Week",
"sort_order": 4,
},
"Virtual": {
"label": "Virtual",
"training_desc": "Virtual Training via Mobile App Only",
"sort_order": 5,
},
}
# ==============================================================================
# WELLNESS PROGRAMS β THE IGNITION SEQUENCEβ’
# ==============================================================================
# PRICING NOTE: All tier prices ("26_week" and "52_week") are MONTHLY rates
# at the given commitment length. Source: Canva marketing cards.
# To get per-week: monthly * 12 / 52 (same ratio for both commitment levels).
WELLNESS_PROGRAMS = {
"Ignition Liftoff": {
"sex_filter": "any",
"type": "medical",
"family": "Liftoff",
"display_order": 99, # medication-only β always listed last
"subtitle": "Medical Accelerator Packages",
"includes": "GLP-1, HRT, Nutrition Coaching",
"targets": ["Fat Loss", "Hormone Balance", "Metabolic Health", "Energy"],
"description": "Medical-only track for people who want the pharmaceutical accelerators without a training component. GLP-1, hormone therapy, and nutrition coaching under physician supervision. These are accelerators, not solutions on their own, so we pair every prescription with a nutrition plan that protects your lean mass (your retirement funds) while the medication does its job.",
"services": ["GLP-1 Therapy", "HRT", "Nutrition Coaching", "Lab Diagnostics"],
"cycle": "26-week or 52-week protocol",
"tiers": {
"GLP-1 + HRT + Nutrition Coaching": {
"services": ["GLP-1 Therapy", "HRT", "Nutrition Coaching", "Lab Diagnostics"],
"26_week": 649.97,
"52_week": 552.47,
"sort_order": 1,
},
"GLP-1 + HRT": {
"services": ["GLP-1 Therapy", "HRT", "Lab Diagnostics"],
"26_week": 574.98,
"52_week": 488.73,
"sort_order": 2,
},
"GLP-1 Only": {
"services": ["GLP-1 Therapy", "Lab Diagnostics"],
"26_week": 374.99,
"52_week": 318.74,
"sort_order": 3,
},
"HRT Only": {
"services": ["HRT", "Lab Diagnostics"],
"26_week": 199.99,
"52_week": 169.99,
"sort_order": 4,
},
},
},
"Ignition Fuel": {
"sex_filter": "any",
"type": "training",
"family": "Fuel",
"display_order": 40, # training-only β above med-only, below combo programs
"subtitle": "Training + Nutrition",
"includes": "Training, Nutrition Coaching",
"targets": ["Strength", "Fat Loss", "Muscle Gain", "Recovery"],
"description": "Training and nutrition without the medical component. This is the foundation everything else gets built on. Structured resistance training paired with a nutrition plan that actually fits your life. If you add medications later, this groundwork is what makes them work. Not about perfection, about progress.",
"services": ["Strength Training", "Nutrition Coaching"],
"cycle": "26-week or 12-month protocol",
"tiers": {
"Premiere": {"26_week": 2024.86, "52_week": 1721.13, "sort_order": 1},
"Crew": {"26_week": 724.86, "52_week": 616.13, "sort_order": 2},
"Crew Hybrid": {"26_week": 508.23, "52_week": 431.99, "sort_order": 3},
"Hybrid": {"26_week": 291.61, "52_week": 247.87, "sort_order": 4},
"Virtual": {"26_week": 224.98, "52_week": 191.23, "sort_order": 5},
},
},
"Ignition Apex": {
"sex_filter": "any",
"type": "training",
"family": "Apex",
"display_order": 10, # most comprehensive β listed first
"subtitle": "The Complete Protocol",
"includes": "Training, Nutrition, GLP-1, HRT",
"targets": ["Fat Loss", "Muscle Gain", "Hormone Balance", "Metabolic Health", "Strength", "Recovery"],
"description": "Everything in one protocol. GLP-1, hormone optimization, structured training, and nutrition working together under one clinical roof. The medications accelerate what the training and nutrition make possible. We monitor your labs, adjust your protocols, and keep your lean mass protected the entire time.",
"services": ["GLP-1 Therapy", "HRT", "Strength Training", "Nutrition Coaching", "Lab Diagnostics"],
"cycle": "26-week or 52-week protocol",
"tiers": {
"Premiere": {"26_week": 2599.84, "52_week": 2209.86, "sort_order": 1},
"Crew": {"26_week": 1299.84, "52_week": 1104.86, "sort_order": 2},
"Crew Hybrid": {"26_week": 1083.21, "52_week": 920.73, "sort_order": 3},
"Hybrid": {"26_week": 866.59, "52_week": 736.60, "sort_order": 4},
"Virtual": {"26_week": 799.96, "52_week": 679.97, "sort_order": 5},
},
},
"Afterburner Catalyst": {
"sex_filter": "any",
"type": "training",
"family": "Catalyst",
"display_order": 20, # training + GLP-1
"subtitle": "Training + Nutrition + GLP-1",
"includes": "Training, Nutrition, GLP-1",
"targets": ["Fat Loss", "Metabolic Health", "Muscle Preservation", "Strength"],
"description": "GLP-1 paired with training and nutrition for fat loss that actually sticks. The medication reduces appetite and improves insulin signaling while the training protects your lean mass. Think of muscle as retirement funds: you do not cash those out for short-term results. We monitor your labs throughout.",
"services": ["GLP-1 Therapy", "Strength Training", "Nutrition Coaching", "Lab Diagnostics"],
"cycle": "26-week or 52-week protocol",
"tiers": {
"Premiere": {"26_week": 2399.85, "52_week": 2039.87, "sort_order": 1},
"Crew": {"26_week": 1099.85, "52_week": 934.87, "sort_order": 2},
"Crew Hybrid": {"26_week": 883.22, "52_week": 750.73, "sort_order": 3},
"Hybrid": {"26_week": 666.60, "52_week": 566.61, "sort_order": 4},
"Virtual": {"26_week": 599.97, "52_week": 509.97, "sort_order": 5},
},
},
"Afterburner Vitality": {
"sex_filter": "any",
"type": "training",
"family": "Vitality",
"display_order": 30, # training + HRT
"subtitle": "Training + Nutrition + HRT",
"includes": "Training, Nutrition, HRT",
"targets": ["Hormone Balance", "Strength", "Energy", "Recovery", "Mood"],
"description": "Hormone replacement paired with training and nutrition for people whose labs say their hormones are working against them. The HRT restores what time or circumstance took away, and the training gives your body something productive to do with it. Physician-monitored from day one.",
"services": ["HRT", "Strength Training", "Nutrition Coaching", "Lab Diagnostics"],
"cycle": "26-week or 52-week protocol",
"tiers": {
"Premiere": {"26_week": 2224.85, "52_week": 1891.12, "sort_order": 1},
"Crew": {"26_week": 924.85, "52_week": 786.12, "sort_order": 2},
"Crew Hybrid": {"26_week": 708.22, "52_week": 601.99, "sort_order": 3},
"Hybrid": {"26_week": 491.60, "52_week": 417.86, "sort_order": 4},
"Virtual": {"26_week": 349.98, "52_week": 297.48, "sort_order": 5},
},
},
}
# ==============================================================================
# GOAL MAPPING CONFIGURATION
# ==============================================================================
# Primary goals available in the assessment form
# Maps goal label β list of (target_category, weight) tuples
PRIMARY_GOALS = {
"Lose body fat / change my body composition": [("Fat Loss", 3), ("Metabolic Health", 1)],
"Build muscle / get stronger": [("Muscle Gain", 3), ("Strength", 2), ("Recovery", 1)],
"Improve energy and reduce fatigue": [("Energy", 3), ("Hormone Balance", 1)],
"Balance my hormones (testosterone, estrogen)": [("Hormone Balance", 3), ("Energy", 1), ("Mood", 1)],
"Manage menopause symptoms": [("Menopause", 3), ("Hormone Balance", 2), ("Mood", 1)],
"Improve mood, confidence, or motivation": [("Mood", 3), ("Hormone Balance", 1)],
"Restore libido or sexual function": [("Mood", 2), ("Hormone Balance", 3)],
"Get my nutrition dialed in": [("Metabolic Health", 2), ("Fat Loss", 1), ("Muscle Preservation", 1)],
"Lose weight with medical support (GLP-1)": [("Fat Loss", 3), ("Metabolic Health", 2), ("Muscle Preservation", 1)],
"Get structured training I'll actually stick with": [("Strength", 3), ("Muscle Gain", 1), ("Recovery", 1)],
"Improve sleep and recovery": [("Sleep", 3), ("Recovery", 2)],
"Overall health optimization β not sure where to start": [("Fat Loss", 1), ("Strength", 1), ("Hormone Balance", 1), ("Energy", 1), ("Metabolic Health", 1)],
}
# Current symptoms available in the form
# Maps symptom label β list of (target_category, weight) tuples
CURRENT_SYMPTOMS = {
"Low energy or chronic fatigue": [("Energy", 2), ("Hormone Balance", 1)],
"Stubborn weight gain despite diet and exercise": [("Fat Loss", 2), ("Metabolic Health", 2), ("Hormone Balance", 1)],
"Trouble sleeping or staying asleep": [("Sleep", 2), ("Recovery", 1)],
"Low libido or sexual dysfunction": [("Mood", 2), ("Hormone Balance", 2)],
"Mood swings or low motivation": [("Mood", 2), ("Hormone Balance", 1)],
"Brain fog or difficulty concentrating": [("Energy", 1), ("Hormone Balance", 2)],
"Hot flashes, night sweats, or menopause symptoms": [("Menopause", 2), ("Hormone Balance", 2)],
"Muscle loss or difficulty building muscle": [("Muscle Gain", 2), ("Muscle Preservation", 1), ("Hormone Balance", 1)],
"Sluggish metabolism or blood sugar issues": [("Metabolic Health", 2), ("Fat Loss", 1)],
"Feeling weaker or deconditioned": [("Strength", 2), ("Recovery", 1), ("Muscle Gain", 1)],
"Slow recovery after workouts or activity": [("Recovery", 2), ("Energy", 1)],
"Increased appetite or constant cravings": [("Fat Loss", 2), ("Metabolic Health", 1)],
}
# Energy and recovery status options
# Maps label β list of (target_category, weight) tuples
ENERGY_RECOVERY_OPTIONS = {
"Constantly fatigued or slow to recover": [("Recovery", 2), ("Sleep", 1)],
"Occasional burnout or delayed soreness": [("Recovery", 1)],
"Generally okay but could be better": [],
"Fully recovered and high energy most days": [],
}
# Activity level options
ACTIVITY_LEVELS = [
"Sedentary β little to no exercise",
"Light β 1-2 days per week",
"Moderate β 3-4 days per week, structured training",
"Advanced β athlete or professional-level training",
]
# All target categories (auto-derived from goals/symptoms, listed for clarity)
TARGET_CATEGORIES = [
"Fat Loss",
"Muscle Gain",
"Muscle Preservation",
"Strength",
"Recovery",
"Hormone Balance",
"Metabolic Health",
"Energy",
"Mood",
"Sleep",
"Menopause",
]
# Goals and symptoms restricted by sex
MALE_RESTRICTED_GOALS = ["Manage menopause symptoms"]
MALE_RESTRICTED_SYMPTOMS = ["Hot flashes, night sweats, or menopause symptoms"]
MALE_RESTRICTED_FLAGS = ["Pregnancy or breastfeeding"]
# ==============================================================================
# EMAIL CONFIGURATION (Outlook SMTP)
# ==============================================================================
# Credentials come from environment variables: SMTP_USER, SMTP_PASSWORD
# Set these in Hugging Face Spaces secrets or your local .env file.
EMAIL = {
"smtp_server": "smtp.office365.com",
"smtp_port": 587,
"clinic_recipient": "info@ignitepah.com",
"client_subject": "Your Ignition Sequence Recommendation β Ignite Performance & Health",
"clinic_subject": "New Lead β Ignition Sequence Assessment",
"client_body": (
"Thanks for completing the Ignition Sequence assessment.\n\n"
"Your program recommendation is attached as a PDF. Our team will review your results "
"and reach out within 24-48 hours to schedule your consultation.\n\n"
"If you'd like to get started sooner, you can book directly:\n"
"{scheduling_url}\n\n"
"Ignite Performance & Health\n"
"14830 Clayton Rd, Chesterfield, MO 63017\n"
"(314) 887-0858 | info@ignitepah.com"
),
}
# ==============================================================================
# GPT CONFIGURATION
# ==============================================================================
GPT_CONFIG = {
"model": "gpt-4o",
"temperature": 0.7,
"section_headers": [
"Your Ignition Sequence",
"How Your Program Works",
"Treatment Protocol",
"Expected Timeline",
"Safety & Monitoring",
"What Happens Next",
],
}
# ==============================================================================
# SYSTEM PROMPT FOR AI WELLNESS CONSULTANT
# ==============================================================================
PATHWAY_SYSTEM_PROMPT = """You are the Ignite digital wellness consultant, a supervised clinical communication tool representing Ignite Performance & Health, a expert-led concierge medical clinic in Chesterfield, Missouri.
This output appears in a LEAD MAGNET assessment tool, not a clinical environment. Your job is to help a potential client understand what their program would look like and why it fits them. Be direct, be warm, be honest. Do not oversell.
VOICE & TONE:
Write in Ignite's voice: conclusion first, then the reasoning. Explain things as if the reader were smart but not medically trained. Use analogies and real-world comparisons instead of jargon. Keep sentences varied in length. Avoid em dashes as sentence connectors. Never use emojis.
Warm but not sappy. Confident but not arrogant. Helpful guide, not paternalistic provider. Authority is implicit, never performed. No verbose fluff or promotional puffery.
Do NOT use these patterns:
- Bullet-point lists as primary formatting (write in prose paragraphs)
- Rule-of-three constructions ("x, y, and z" repeated across sections)
- Em dash overuse (one per section maximum)
- Bold headers for every subsection (use them sparingly)
- "Serves as" / "functions as" / "acts as" instead of "is"
- Elegant variation (do not swap in a synonym every time you mention something; just say what it is)
- Vague attributions ("experts agree," "research suggests") without specifics
GENDER-SPECIFIC FRAMING:
For male patients: "I am you" energy. Shared experience, mutual understanding, we are in this together.
For female patients: "I see what others missed" energy. Validation first. Many women arrive after being dismissed by other providers. Acknowledge that something really is off, explain the physiology in plain language, and reframe vague symptoms into predictable responses to hormone changes.
CLINICAL GUARDRAILS:
Medications are "accelerators, not solutions." The foundation is always nutrition, training, and lifestyle.
Lean mass is "retirement funds." Never sacrifice long-term health for short-term results.
Never guarantee specific outcomes or timelines. Frame expectations around effort and process.
All programs require physician evaluation, approval, and ongoing supervision.
Never overstate evidence. If something is emerging or preliminary, say so.
COMPOUND-NAME PROHIBITION (CRITICAL β LEGITSCRIPT / FDA COMPLIANCE):
NEVER name specific compounds, molecules, brand-name drugs, or specific dosing in your output. Use generic service category names only β TRT, HRT, GLP-1 Therapy, Peptide Therapies, etc. Do not write "testosterone cypionate at 100mg/week," "0.25mg semaglutide weekly," "BPC-157," "ipamorelin," "Ozempic," "Mounjaro," or any other specific compound or brand name. Treatment specifics β molecule, dose, frequency, brand β are determined by the physician at consultation, not by this lead-magnet output. If specifics seem warranted, write: "your physician will determine the exact protocol based on your labs and history." This rule applies to every section, including Treatment Protocol and Safety & Monitoring.
CONTRAINDICATION HANDLING (LEAD MAGNET CONTEXT):
This is a lead magnet, not a clinical diagnostic tool. When contraindication flags are present:
- Still show the full program and what it includes
- Flag any service affected by the contraindication clearly
- State "physician review required before this service can begin"
- Do NOT lock the person out of seeing the program or its details
- Do NOT recommend discontinuing anything or make clinical decisions
- Frame it as: "Here is what this program looks like. Given [flag], your physician would need to evaluate [specific service] before we proceed with that piece."
SIGNATURE PHRASES (use naturally, not forced):
"Not about perfection, about progress"
"Accelerators, not solutions"
"Retirement funds" (about lean mass)
"I would feel comfortable proceeding given..."
WRITE A PERSONALIZED PROGRAM RECOMMENDATION USING THESE SECTION HEADERS:
**Your Ignition Sequence**
**How Your Program Works**
**Treatment Protocol**
**Expected Timeline**
**Safety & Monitoring**
**What Happens Next**
FORMATTING RULES:
Write in connected prose paragraphs, not bullet lists. Each section should read like a short letter addressed to this person. You can use a brief list (three items or fewer) when listing concrete items like lab panels or appointment types, but the default is prose.
Under 'Your Ignition Sequence': Open with a one-paragraph summary that tells the person what their program is, why it fits their goals, and what it is built around. Conclusion first.
Under 'How Your Program Works': Walk through each service in the program in its own short paragraph. Explain what it does, why it matters for this person specifically, and how it connects to the other services. Do not use ### subheaders for each service.
Under 'Treatment Protocol': Describe the schedule, monitoring cadence, and cycle length in one or two paragraphs. Be specific about frequency.
Under 'Expected Timeline': Describe what to expect across the protocol in prose. Reference rough timeframes (first few weeks, weeks four through eight, etc.) but do not format this as a numbered week-by-week list.
Under 'Safety & Monitoring': Cover routine labs, what to watch for, and any contraindication flags. If flags are present, name the specific service affected and state that physician review is required before that piece begins. Keep this conversational.
Under 'What Happens Next': Two or three sentences about the next practical step. Do not use a numbered list of five corporate onboarding steps. Just tell them what actually happens: our team reaches out, we schedule a consultation, and we get your labs drawn.
Keep each section focused. Do not repeat information across sections. Professional, educational, warm."""
|