Pasa is a SwiftUI calorie tracking app built on SwiftData. It focuses on fast food logging, clear daily and weekly progress, and optional HealthKit integration.
- Daily and weekly calorie progress with fixed Sunday-start week boundaries.
- Home dashboard weekly status uses
CalorieSummaryCalculator.weeklyProgress(...)for consistent progress math. - Profile-driven targets with selectable TDEE equations (Mifflin-St Jeor, Harris-Benedict, Katch-McArdle).
- Optional burn-adjusted max calories (base target + percentage of active calories burned).
- Optional reminders and Quick Start onboarding.
- Optional iCloud-backed SwiftData persistence with local fallback and recovery handling.
- Xcode 16+
- iOS 18+ (or compatible Apple platform destination configured by the scheme)
- HealthKit and notification permissions are optional and only needed for those features
- Open
Pasa.xcodeprojin Xcode. - Select the
Pasascheme. - Pick a simulator or connected device.
- Build and run.
On first launch, the app creates a default UserProfile and seeds base food catalog entries.
pasa/
├── ContentView.swift # Root container, tab wiring, orchestration
├── HomeDashboardView.swift # Daily/weekly cards, streaks, metabolism summary
├── LogEntriesView.swift # Entry list, edit/delete flows, history shortcuts
├── SettingsView.swift # Profile, targets, sync toggles, Health import
├── AddFoodEntrySheet.swift # Manual add-entry form
├── QuickStartOnboardingView.swift # First-run onboarding flow
├── TDEEEquationSettingsView.swift # TDEE equation + lean body mass config
├── Services/
│ ├── CalorieSummaryCalculator.swift
│ ├── HealthKitService.swift
│ ├── HealthKitSyncCoordinator.swift
│ ├── ReminderManager.swift
│ └── StreakCalculator.swift
├── Models/
│ ├── EntryPayloads.swift
│ ├── FoodCatalogSeed.swift
│ ├── TDEEEquation.swift
│ ├── WeeklyAggregateStatus.swift
│ └── Schemas/
│ ├── SimplyTrackSchemaV1.swift
│ ├── SimplyTrackSchemaV2.swift
│ ├── SimplyTrackSchemaV3.swift
│ ├── SimplyTrackSchemaV4.swift
│ ├── SimplyTrackSchemaV5.swift
│ ├── SimplyTrackSchemaV6.swift
│ ├── SimplyTrackSchemaV7.swift
│ └── SimplyTrackMigrationPlan.swift
└── PasaApp.swift # App entry, model container setup, persistence fallback
FoodEntry: consumed item, calories, timestamps, source, optional HealthKit sample ID.FoodCatalogItem: reusable food templates for quick logging.UserProfile: body metrics, target settings, goal mode, sync/reminder preferences.
Active schema is SimplyTrackSchemaV7.
- Unit tests live in
PasaTests/PasaTests.swift. - Current shared scheme includes the
PasaTeststest bundle. - Most recent run in this workspace context: 8 passed, 0 failed.
- Architecture and service details:
AGENTS.md - Privacy policy:
PRIVACY.md - License:
LICENSE
If Pasa is useful to you, you can support development on Ko-fi.
- Home always shows a
Syncstatus section with the last known HealthKit sync result. - If Health sync is enabled, launch/resume performs a passive active-calorie pull to keep Home targets in sync.