A production-grade starter scaffold for an Apple-native AI fitness, nutrition, sleep, recovery, and workout app.
This ZIP contains:
ios/FitAgent.xcodeproj— iOS SwiftUI project you can open in Xcode.ios/FitAgent— SwiftUI app, app state, local persistence, HealthKit service, Speech-to-Text service, CloudKit placeholder, and Azure backend client.watchOS/— watchOS companion SwiftUI source files to add as a Watch App target after the iOS app is running.backend/— FastAPI backend that keeps Azure Foundry credentials off the iPhone app.SETUP_XCODE.md— step-by-step Xcode setup.SETUP_AZURE.md— step-by-step Azure/FastAPI setup.MANUAL_QA_CHECKLIST.md— report-aligned checklist for simulator, device, backend, HealthKit, CloudKit, and Watch verification.PRIVACY.mdandSECURITY.md— launch notes for handling health data and backend secrets.
- Dark-mode-first SwiftUI UI with 5 tabs: Today, Log, Coach, Progress, Profile.
- Mock nutrition/recovery dashboard based on the FitAgent product concept.
- Native iOS speech-to-text flow: mic → transcript → editable text → send.
- HealthKit permission request service and sample daily health import hooks.
- API client that calls your own backend instead of calling Azure Foundry directly.
- Backend route policies for GPT-5.5 task types: food parsing, coach chat, meal suggestions, recovery analysis, weekly review.
- Structured food parsing with server-side JSON validation and in-app confirmation before saving.
- Manual logging for sleep, biceps/waist/body measurements, and simple set-based workouts.
- Azure App Service production URL support in Release builds.
- No Azure Foundry keys inside the iOS app.
This is now a stronger MVP codebase, but App Store production still requires real-device HealthKit/Watch testing, Apple Developer signing, privacy review, full CloudKit record sync, nutrition database licensing, crash reporting, and a public user-auth model such as Sign in with Apple.
Start by running the iOS app, then connect the backend, then add HealthKit, then add CloudKit, then add the Watch target.