Skip to content

Lab 9: Finalizing Milestone 3 Demo Plan

Arda Saygan edited this page Dec 9, 2025 · 11 revisions

1. Web

Demo-data strategy (Content & Use-case Alignment)

User Roles

Primary Web User – “Berk” (Analytical Nutritionist/Skeptic)

  • Highly analytical user focus on data visualization
  • Uses desktop for deep-dive comparisons and weekly planning
  • Goal: Disprove the theory that "hitting macros ensures hitting micros"
  • Needs specific "counter-example" foods (High Macro / Low Micro)
  • Relies on side-by-side graphical comparisons

Pre-Populated System State (Web-Focused)

1. The "Counter-Example" Foods (Core to Argument)

To prove Anil wrong, we need two specific food items that have identical macronutrients but drastically different micronutrients.

Food A: "Wholesome Buckwheat Bowl" (The Good)

  • 400 kcal
  • 70g Carbs
  • High Magnesium (150mg)
  • High Zinc, Vitamin B complex

Food B: "Instant Noodle Block" (The Bad)

  • 400 kcal
  • 70g Carbs
  • Low Magnesium (<10mg)
  • High Sodium, low vitamins

These items are essential for the Side-by-Side Spider Graph comparison.


2. Advanced Filtering Dataset (Requirement: Filtering)

We populate the catalog with a mix of 30+ items to ensure the filters return meaningful results.

  • Category: Grains & Pasta
  • Attributes: Varying levels of Magnesium and Potassium
  • Purpose: To demonstrate the query: "Carbohydrates > 50g AND Magnesium < 20mg" (Finding empty calories).

3. Meal Planner "Blank Canvas" (Requirement: What-if Simulation)

Next Week View:

  • Completely empty.
  • Set up to receive a bulk distribution of "Food B" (Instant Noodles).
  • Targets:
    • Carbs: 300g/day (Easily reachable)
    • Magnesium: 400mg/day (Hard to reach with empty foods)

This setup allows Berk to fill the week with "Bad" food, hit the Macro goal, but fail the Micro goal.


Edge-Case Data (Web Core)

  • Portion Scale Interaction:

    • A specific food entry where changing the portion from 100g to 300g visually scales the micronutrient bars in real-time within the catalog detail view.
  • The "Anil Hypothesis" Failure State:

    • A weekly plan state where Carb Progress = 100% but Magnesium Progress = 5%. This is the visual proof required to end the scenario.

2. Demo Plan (Presentation Flow & Key Scenarios)

Web Scenario: The Macro vs. Micro Debate

Note: The Web Demo precedes the Mobile Demo. This scenario focuses on Berk using analytical tools to refute Anil’s claim.


The Narrative: Berk vs. Anil

  • Anil's Claim: "If I just hit my macro goals (Carbs/Protein/Fat), the micronutrients (Vitamins/Minerals) will take care of themselves."
  • Berk's Counter: "False. You can hit macros with 'empty' foods and suffer malnutrition."
  • Goal: Find foods to prove this and simulate a week of eating them.

WEB DEMO BEGINS

0:00 – 0:45 — The Argument & Advanced Filtering

Speaker: A

  1. Navigate to Food Catalog.
  2. Context: "Anil claims macros are enough. Let's find a food that is high in carbs but empty in minerals."
  3. Open Advanced Filters.
  4. Set parameters:
    • Carbohydrates: > 60g
    • Magnesium: < 15mg
  5. Result: The list filters down to processed foods.
  6. Select "Instant Noodle Block".

Requirement: Advanced Filtering


0:45 – 1:30 — Real-time Portion Adjustment
  1. Open the details for "Instant Noodle Block".
  2. Show the nutrient breakdown (High Carbs, Empty Micros).
  3. Action: Change Portion Size:
    • 1 Serving → 3 Servings.
  4. Visual:
    • Macro bars shoot up (Carbs skyrocket).
    • Micro bars (Mg, Vit A) stay flat/invisible.
  5. "See? Even if I eat triple the amount, I get no magnesium."

Requirement: Food catalog portion change affecting micro values


1:30 – 2:30 — Side-by-Side Comparison (Spider Graph)
  1. Click "Compare" on "Instant Noodle Block".
  2. Search and select "Wholesome Buckwheat Bowl" (The healthy alternative).
  3. The Reveal:
    • Macro Bar Chart: They look identical (Both ~400kcal, ~70g Carbs). "Anil would think these are the same."
    • Micro Spider Graph:
      • Buckwheat: Large, full web covering Mg, Zn, Vit B.
      • Noodles: Tiny, shriveled web (mostly Sodium).
  4. Rotate/Interact with the 3D/2D spider graph to emphasize the difference.

Requirement: Food comparison with spider graph for micronutrients


2:30 – 3:45 — The "What-If" Meal Planner Simulation
  1. Navigate to Meal Planner.
  2. "Let's test Anil's theory in a weekly simulation."
  3. Drag "Instant Noodle Block" into Monday.
  4. Use the "Distribute to Week" (or Copy/Paste) feature to fill Monday–Sunday with only this food.
  5. Analyze the Header Stats:
    • Carb Goal: 100% (Green/Checkmark).
    • Magnesium Goal: 10% (Red/Alert).
  6. "We hit the macros perfectly, but failed the micros completely."

Requirement: "What-if" meal planner


3:45 – 4:00 — Final Closing (Web)

Speaker: A

  • Summarize: "We used advanced filtering to find edge cases, the spider graph to visualize nutrient density, and the planner to simulate long-term impact, proving that macros alone are not enough."
  • Transition to Mobile Scenario (Kaito).

2. Mobile

Demo-data strategy (Content & Use-case Alignment)

User Roles

Primary Mobile User – “Kaito” (Professional Sumo Wrestler)

  • Requires extremely high caloric intake (7000+ kcal/day)
  • Uses mobile for live meal logging during long training sessions
  • Relies on private foods for confidential recipes
  • Needs predictive simulation (“What if I don’t eat this?”)
  • Uses micronutrient filtering to optimize high-performance meals
  • Uses future meal planning to structure caloric and protein cycles

Pre-Populated System State (Mobile-Focused)

1. Private High-Calorie Athlete Food (Core to Scenario)

We create one private food item for Kaito:

“Chef’s Special Chanko Nabe (Stable Secret)”

  • 1200 kcal
  • 85g protein
  • 110g carbs
  • 60g fat
  • Available only in Kaito’s private food list
  • Required for:
    • Private food demonstration
    • Meal logging
    • Calorie progression
    • “What-if I don’t eat this?” simulation
    • Future meal planner

This item enables essential flows unique to Kaito’s case.


2. Athlete Meal Log (Starting Point of the Demo)

Kaito begins with a pre-logged high-performance breakfast:

Morning Training Meal (Pre-loaded):

  • Rice
  • Grilled Mackerel
  • Miso Soup
  • Total: 2500 kcal

This establishes a baseline for:

  • Nutrition tracking dashboard
  • Radar chart imbalance
  • Simulation impact
  • Meal plan progress

3. Water Intake State (Nutrition Score Update Requirement)

We pre-set Kaito’s hydration to show the updated water-dependent scoring:

  • Logged: 1500 ml
  • Daily target: 5000 ml
  • Nutrition Score partially reduced due to under-hydration

This enables:

  • Hydration progress bar demo
  • Nutrition Score recalculation

4. Micronutrient-Rich Foods for Filtering (Requirement 1.1.x)

To demonstrate advanced mobile filtering, we seed:

  • 15+ high-calorie, high-protein athlete foods
  • Full micronutrient profiles
  • Foods suitable for sumo bulking (e.g., beef bowls, tuna cuts, high-protein rice variants)
  • Low-sodium alternatives for balanced performance

Filtering allows:

  • “Protein > 30g”
  • “Calories > 500”
  • “Sodium < 800 mg”

5. Healthy Range Validation Cases (Requirement 1.1.9)

Kaito’s dataset includes:

  • A high-sodium recipe → triggers red warning
  • A high-fat meal → shows tooltip explanation
  • A vitamin-deficient option → shows imbalance in radar chart

These support:

  • Unsafe portion alerts
  • Nutrition coaching dialogs
  • Real-time nutrient recalculation

6. Future Meal Planner State (Requirement 1.5.x)

To demonstrate weekly performance planning:

Current Week

  • Some meals pre-filled to show baseline load

Next Week

  • Blank, allowing the demo to add:
    • 2× “Chanko Nabe”
    • High-protein combinations

This supports:

  • Weekly comparison radar
  • Cycle manipulation (bulk vs. maintain)
  • High-performance diet structure

Edge-Case Data (Mobile Core)

We include mobile-specific edge cases:

  • Chanko Nabe removed via “What if I don't eat this?”
    → huge calorie drop to show powerful simulation effect

  • Meal with excessive sodium
    → demonstrates safety warnings

  • Food missing certain micronutrient values
    → validation tooltip for informational gaps

  • Future meal causing macro imbalance
    → weekly comparison flags unhealthy planning


2. Demo Plan (Presentation Flow & Key Scenarios)

Mobile Scenario: High-Performance Nutrition Planning

Note: When the Web scenario ends and we switch to mobile, the Mobile Demo Timer resets to 0:00.
This scenario focuses on high-performance nutrition management for elite athlete Kaito, a professional Sumo Wrestler.


User Profile: Kaito (Professional Sumo Wrestler)

  • Preparing for an upcoming Grand Tournament.
  • Requires 7000+ kcal/day with strict macro control.
  • Uses mobile for on-the-go nutrition tracking during intense training.
  • Needs private food logging + predictive tools.

Why the Private Food Feature Matters

Private Food: “Chef’s Special Chanko Nabe (Stable Secret)”
  • Confidential recipe developed by Kaito’s stable chef.
  • Cannot be in public DB → private item required.
  • Nutritional Profile (per bowl):
    • 1200 kcal
    • 85g Protein
    • 110g Carbs
    • 60g Fat

Pre-Populated State

  • Morning Training Meal logged: 2500 kcal
  • Targets:
    • Calories 7000 kcal
    • Protein 400g
    • Fat ≤200g
    • Water 5000 ml
  • Current Progress:
    • Calories: 2500 kcal
    • Water: 1500 ml

MOBILE DEMO BEGINS → TIMER STARTS AT 0:00

0:00 – 0:20 — Introduction to Mobile Scenario

Speaker: B

  • “This scenario shows high-performance nutrition planning for Kaito using private foods, simulation tools, hydration-aware scoring, and future planning.”

0:20 – 1:00 — Water Intake & Updated Nutrition Score
  1. Open home dashboard.
  2. Show water progress bar (1500 / 5000 ml).
  3. Open Nutrition Score → highlight hydration effect.
  4. Explain hydration importance for high-performance athletes.

Requirement: Nutrition Score Update (1.9.x)


1:00 – 1:45 — Private Food: Secret Chanko Nabe
  1. Navigate to My Foods → Private Foods.
  2. Show “Chef’s Special Chanko Nabe (Stable Secret)”.
  3. Display nutritional profile.
  4. Add one bowl to today’s lunch.

Calorie update:
→ 2500 → 3700 kcal

Requirement: Private Food Item Creation & Tracking


1:45 – 2:25 — Micronutrient & Calorie Filtering
  1. Open Foods → apply filters:
    • Calories > 500
    • Protein > 30g
    • Sodium < 800 mg
  2. Show filtered foods.
  3. Open item → display mini radar chart.

2:25 – 3:05 — Healthy Portion Warning
  1. Open high-sodium recipe.
  2. Increase servings 1 → 2 → 3.
  3. Trigger:
    • Red sodium warning
    • Explanation tooltip
    • Highlighted nutrient bar

3:05 – 4:00 — Nutrition Tracking + NEW “What if I don’t eat this?”
Navigate to Nutrition Tracking Dashboard

Show:

  • Daily energy intake (3700 kcal)
  • Macro distribution
  • Radar chart imbalance
Open “Today’s Detailed Log”

Meals shown:

  • Morning Training Meal
  • Secret Chanko Nabe

Next to each meal is the new checkbox:

☐ What if I don’t eat this?

Demonstration:

  1. Uncheck Chanko Nabe.
  2. System instantly recomputes:
    • Calories drop → 3700 → 2500 kcal
    • Radar chart shrinks
    • Protein deficit appears
    • Nutrition score decreases
  3. Re-check the item → return to 3700 kcal.

Purpose:
Simulate how removing a meal impacts performance nutrition.


4:00 – 4:45 — Future Meal Planner (Mobile)
  1. Switch to Next Week.
  2. Add 2 bowls of Chanko Nabe to training days.
  3. Weekly nutrition totals animate.
  4. Show radar comparison: Current Week vs Next Week.
  5. Explain how athletes optimize caloric cycles.

4:45 – 5:00 — Final Closing (Mobile)

Speaker: B

  • Summarize key features demonstrated:
    • Private foods
    • Hydration-aware score
    • Micronutrient filtering
    • Healthy portion warnings
    • What-if simulation
    • Future meal planning
    • Visual athlete-centric analytics

Clone this wiki locally