Feature inventory: implemented, planned, and explicitly out of scope. Last updated: 2026-06-20
- Collect age, biological sex, height, weight, activity level, goal
- Mifflin-St Jeor BMR calculation
- Activity level multipliers (sedentary 1.2 → very active 1.725)
- Goal adjustments (maintain 1.0, lose 0.90, gain 1.10)
- Round final target to nearest 10 kcal
- Profile editing with recalculation
- Calorie disclaimer on result screen and profile
- Profile data persisted locally as JSON
- Create daily meal plan with 4 default slots: Breakfast, Lunch, Snack, Dinner
- Add food items manually (name, calories, optional note)
- Edit food items (via delete + re-add pattern)
- Delete food items with confirmation
- Meal total calories computed automatically
- Daily total calories computed automatically
- Validation: food name required, calories must be whole number ≥ 0
- Meal plans persisted locally as JSON
- Daily target display (large coral number)
- Planned calories vs remaining calories summary cards
- Calorie progress bar (mint under target, coral over target)
- Status badge: under target / at target / over target
- Meal-by-meal summary cards with calorie totals
- Empty state: "No meal plan for today — Create one"
- Neutral language for over-target: "X kcal over your estimated target"
- 3-tab bottom bar: Today / Meal Plan / Profile
- Onboarding flow: Welcome → Profile Setup → Goal Setup → Calorie Result
- Meal Detail screen with food item list
- Add Food Item sheet
- Profile Edit sheet
- Neubrutalist visual language — 3px black borders, hard offset shadows
- Coral
#FF6B4Aprimary, Mint#2DD4BFsecondary, Yellow#FFD60Aaccent - Cream
#FAFAF5background - ALL CAPS labels with letter-spacing
- SF Rounded Bold for display/metrics
- Push-in button animation on press
- Tab bar with black top border + coral active state
- Custom navigation bar styling
- Colored meal icon containers (orange, teal, pink, indigo)
- Pill-shaped status badges with black borders
- User profile →
profile.json - Calorie target →
target.json - Daily meal plans →
mealplan_YYYY-MM-DD.json - Reset all data action
- Data survives app restarts
- First launch (no profile) → onboarding
- Returning user (profile exists) → Today dashboard
- No meal plan today → empty state with CTA
- Meal plan exists, no food items → meal cards show "0 items, 0 kcal"
- Meal plan with food → calorie totals display
- Under target → green badge
- At target → yellow badge
- Over target → red-tinted badge with neutral language
- Empty meal → "No food added yet"
- Unit tests — CalorieCalculator, StorageService, AppState
- Food item editing — currently delete + re-add; add inline edit
- Proper error handling — replace
try?withdo/catch+ user-visible errors - Accessibility — VoiceOver labels, dynamic type support, reduced motion
- App icon — replace solid coral placeholder with proper icon
- Empty state for Dinner — currently cut off on smaller screens; fix scroll
- Meal Plan for past/future dates — currently only today
- Copy yesterday's meal plan
- Favorite food items (quick-add from history)
- Weekly meal planning
- Meal templates (predefined meal structures)
- Swipe-to-delete on meal cards and food items
- Haptic feedback on button presses and deletions
- Dark mode support
- iPad layout (max content width 680px)
- Undo delete (toast: "Item removed. Undo?")
- Macro tracking (protein, carbs, fat)
- Weight tracking over time
- Progress charts
- Export meal plan (PDF, text)
- Reminder notifications
- Multiple profiles
- Food database (offline)
- Barcode scanner
- AI meal suggestions
These are intentionally excluded from the MVP per the PRD:
- ❌ Login / account system
- ❌ Cloud sync / backend
- ❌ Public food database
- ❌ Barcode scanning
- ❌ Food image recognition
- ❌ AI meal generation
- ❌ Social features / sharing
- ❌ Subscription / payments
- ❌ Exercise tracking
- ❌ Water tracking
- ❌ Recipe builder
- ❌ Shopping list
- ❌ Medical / nutrition diagnosis
- ❌ Macro tracking
- ❌ Weight progress charts
| Category | Implemented | Planned | Out of Scope |
|---|---|---|---|
| Profile & Onboarding | 8 | 0 | 0 |
| Calorie Calculation | 5 | 0 | 0 |
| Meal Planning | 9 | 3 | 0 |
| Today Dashboard | 7 | 0 | 0 |
| Navigation | 5 | 0 | 0 |
| Design System | 12 | 1 | 0 |
| Data Persistence | 5 | 0 | 0 |
| Testing | 0 | 1 | 0 |
| Accessibility | 0 | 1 | 0 |
| Advanced Features | 0 | 10 | 12 |
| Total | 51 | 16 | 12 |