{
  "app_name": "BMI Calculator",
  "pages": [
    {
      "page_id": "bmi_calculator",
      "page_title": "BMI Calculator",
      "route_path": "/",
      "route_params": [],
      "image_indices": [],
      "description": "Single-page BMI Calculator application. Contains the following sections: (1) BMI Input Form at the top with a Metric/Imperial toggle (radio buttons or segmented control, default Metric), height input field (cm for metric, feet/inches for imperial with placeholder examples and real-time validation), weight input field (kg for metric, lbs for imperial with placeholder examples and real-time validation), a prominent 'Calculate BMI' button (disabled when inputs are invalid), and a 'Clear' button to reset the form. (2) BMI Result Display section that appears after calculation showing the BMI value in large text rounded to 1 decimal place, the category name (Underweight/Normal/Overweight/Obese) with color-coded badge (Blue #3498db, Green #2ecc71, Orange #f39c12, Red #e74c3c respectively), a visual BMI scale/gauge bar with a marker showing where the user's BMI falls, health information text for the current category, and a disclaimer about consulting healthcare professionals. (3) BMI Category Reference table showing all four categories with their BMI ranges and color indicators. (4) Calculation History section displayed below the result, showing a list of past calculations in reverse chronological order (newest first, max 50 entries displayed). Each history entry shows timestamp (local timezone), height and weight with units, BMI value, and category with color indicator. Includes a 'Clear History' button that triggers a confirmation dialog before deleting all entries. Shows an empty state message when no history exists. (5) Collapsible BMI Information section explaining the BMI formula, category ranges, limitations of BMI, and measurement guidelines. All input validation shows inline error messages for out-of-range values. Switching unit systems converts any existing input values to the new unit. History is persisted in localStorage.",
      "navigates_to": []
    }
  ],
  "shared_state": [
    {
      "key": "unitSystem",
      "type": "'metric' | 'imperial'",
      "initial_value": "'metric'",
      "description": "Selected measurement unit system that persists during the session and affects input labels, placeholders, and validation ranges"
    },
    {
      "key": "calculationHistory",
      "type": "Array<{ id: string; height: number; weight: number; heightUnit: string; weightUnit: string; bmiValue: number; bmiCategory: string; timestamp: string }>",
      "initial_value": "[]",
      "description": "List of all BMI calculations performed during the session, persisted in localStorage for history display and management"
    },
    {
      "key": "sessionId",
      "type": "string",
      "initial_value": "''",
      "description": "Unique session identifier used to group calculations and manage history clearing via the API"
    }
  ],
  "default_route": "bmi_calculator",
  "design_system": {
    "theme_mode": "light",
    "density": "comfortable",
    "color_primary": "#2ecc71",
    "color_success": "#2ecc71",
    "color_warning": "#f39c12",
    "color_error": "#e74c3c",
    "color_bg_container": "#ffffff",
    "color_bg_layout": "#f0f4f8",
    "color_text": "#2c3e50",
    "color_border": "#dce1e6",
    "font_family": "Inter, -apple-system, sans-serif",
    "font_size_base": 14,
    "border_radius": 8,
    "component_overrides": {}
  }
}
