# Nutrition Specification ## Job to Be Done When I view my daily guidance, I want to see seed cycling and macro recommendations for my current cycle day, so that I can support my hormones through nutrition. ## Seed Cycling Protocol Seed cycling provides lignans and essential fatty acids aligned with hormonal phases. ### Phase 1: Days 1-14 (Follicular) - **Flax seeds** (1-2 tbsp) - Lignans support estrogen metabolism - **Pumpkin seeds** (1-2 tbsp) - Zinc supports hormone production ### Phase 2: Days 15-31 (Luteal) - **Sesame seeds** (1-2 tbsp) - Lignans support progesterone - **Sunflower seeds** (1-2 tbsp) - Vitamin E supports luteal phase ### Seed Switch Alert On day 15, display prominent alert: > "🌱 SWITCH TODAY! Start Sesame + Sunflower" ## Macro Guidance ### Carbohydrate Ranges by Day | Days | Carb Range | Keto Guidance | |------|------------|---------------| | 1-3 (Menstrual) | 100-150g | No - body needs carbs during menstruation | | 4-6 (Early Follicular) | 75-100g | No - transition phase | | 7-14 (Late Follicular) | 20-100g | OPTIONAL - optimal keto window | | 15-16 (Ovulation) | 100-150g | No - exit keto, need carbs for ovulation | | 17-24 (Early Luteal) | 75-125g | No - progesterone needs carbs | | 25-31 (Late Luteal) | 100-150g+ | NEVER - mood/hormones need carbs for PMS | ### Hashimoto's Considerations - Never go full keto during late luteal (thyroid stress) - Extra carbs during flare days - Avoid goitrogenic foods in raw form ## Nutrition Panel UI ### Required Elements 1. **Current Seeds** - Display seed combination for today - Quantity guidance (1-2 tbsp each) 2. **Carb Range** - Target carbohydrate intake - Visual indicator (e.g., low/medium/high) 3. **Keto Guidance** - Clear yes/no/optional indicator - Reason for guidance - Color coding (green=OPTIONAL, yellow=No, red=NEVER) 4. **Seed Switch Alert** - Only visible on day 15 - Prominent, dismissible ## Nutrition Utilities (`src/lib/nutrition.ts`) **Functions:** - `getNutritionGuidance(cycleDay)` - Returns seeds, carbRange, ketoGuidance - `getSeedSwitchAlert(cycleDay)` - Returns alert text or null **Return Type:** ```typescript interface NutritionGuidance { seeds: string; carbRange: string; ketoGuidance: string; } ``` ## Success Criteria 1. Seed recommendations match phase (1-14 vs 15-31) 2. Keto guidance is never "optional" during late luteal 3. Seed switch alert appears only on day 15 4. Carb ranges are specific, not vague ## Acceptance Tests - [ ] Day 1 returns Flax + Pumpkin seeds - [ ] Day 15 returns Sesame + Sunflower seeds - [ ] Day 15 triggers seed switch alert - [ ] Day 16 has no seed switch alert - [ ] Days 7-14 show keto OPTIONAL - [ ] Days 25-31 show keto NEVER - [ ] Carb ranges are non-overlapping and specific