Your meals, your target, your day β planned simply.
Foodiary is a local-first iOS calorie tracker and daily meal planner. Set a personal calorie target, plan meals from breakfast to dinner, and track whether you're under, near, or over your estimated daily target. No accounts, no cloud, no complexity.
- Personal calorie profile β age, sex, height, weight, activity level, goal
- Mifflin-St Jeor BMR calculation with activity multipliers and goal adjustments
- Daily meal planning β 4 fixed slots: Breakfast, Lunch, Snack, Dinner
- Manual food entry β add name, calories, and optional notes
- Live calorie tracking β planned vs remaining with progress bar
- Neutral language β never shames. "120 kcal over your estimated target", not "you failed"
- Local-first β all data stored as JSON on device. No account, no internet required
- Edit & recalculate β change your profile anytime, target updates automatically
Neubrutalist β bold, playful, Gen-Z aesthetic. Think hard black borders, chunky offset shadows, vibrant flat colors. No gradients, no blur, just confidence.
| Color | Hex | Role |
|---|---|---|
| Coral | #FF6B4A |
Primary buttons, targets, CTAs |
| Mint | #2DD4BF |
Under target, progress |
| Yellow | #FFD60A |
Attention states |
| Cream | #FAFAF5 |
Background |
Full design spec: DESIGN.md
Interactive prototype: design-prototype/index.html
MVVM + Central AppState
βββ Models/ Codable structs
βββ Services/ CalorieCalculator (pure) + StorageService (JSON)
βββ ViewModels/ AppState (single source of truth)
βββ Views/ SwiftUI, 3-tab navigation
- Zero external dependencies β Apple frameworks only
- Stateless calculator β fully testable pure functions
- Tab-based navigation β Today | Meal Plan | Profile
- Onboarding flow β Welcome β Profile β Goal β Result
# Clone
git clone git@github.com:MainActorDev/Foodiary.git
cd Foodiary
# Generate Xcode project
xcodegen --spec project.yml --project .
# Build & run on simulator
xcodebuild -project Foodiary.xcodeproj -scheme Foodiary \
-destination 'platform=iOS Simulator,name=iPhone 16 Pro' build
# Or open in Xcode
open Foodiary.xcodeprojRequirements: Xcode 26+, iOS 18.0+, XcodeGen
| Screen | Description |
|---|---|
| Welcome | App intro + disclaimer |
| Profile Setup | Age, sex, height, weight |
| Goal Setup | Activity level + goal selection |
| Calorie Result | BMR, maintenance, target breakdown |
| Today Dashboard | Target, planned/remaining, meal summaries |
| Meal Plan | 4 meal slots with calorie totals |
| Meal Detail | Food items with add/edit/delete |
| Profile | View/edit details, recalculate, reset |
Foodiary/
βββ FoodiaryApp.swift App entry point
βββ DesignSystem.swift Neubrutalist tokens + modifiers
βββ Models/ 5 data models
βββ Services/ Calculator + persistence
βββ ViewModels/ AppState
βββ Views/
β βββ Onboarding/ 4 onboarding screens
β βββ Today/ Dashboard
β βββ MealPlan/ Meal management + add food
β βββ Profile/ Profile + edit
β βββ MainTabView.swift 3-tab navigation
βββ DESIGN.md Design token spec
βββ AGENTS.md AI agent guidelines
βββ FEATURES.md Feature inventory
βββ project.yml XcodeGen spec
See FEATURES.md for the full inventory.
MVP (shipped): 51 features β profile, calorie calculation, meal planning, dashboard, design system, persistence.
Coming next:
- Unit tests
- Inline food item editing
- Proper error handling
- Accessibility (VoiceOver, Dynamic Type)
- Dark mode
If you're an AI coding agent working on this project, start with AGENTS.md. It covers architecture, design system rules, common pitfalls, build commands, and mandatory language/tone guidelines.
MIT β free for personal use. This is a non-commercial app.
Built with β€οΈ and hard black borders.