Capstone 2 — FitTrack
Tagline: A workout & health-data companion that pulls from HealthKit, syncs via SwiftData + CloudKit, surfaces watchOS complications, and renders rich Swift Charts dashboards.
Tech stack: HealthKit · SwiftData + CloudKit · watchOS complications · Swift Charts · Live Activities · WidgetKit
Time budget: ~2 weeks (3 weeks if you include the watchOS app from scratch)
What this capstone proves:
- You can ask for HealthKit read & write authorization correctly and survive Apple Review
- You understand SwiftData + CloudKit sync model, including schema migrations
- You can ship a watchOS companion with a complication on the Modular and Smart Stack faces
- You can render production-quality Swift Charts — not the toy bar chart from a tutorial
- You can implement Live Activities + Dynamic Island for an in-progress workout
The 30-second pitch
“FitTrack is a workout-logging app that pulls heart rate, active energy, and distance directly from HealthKit on iPhone and Apple Watch, persists workouts in SwiftData with CloudKit sync, and visualizes 30-day trends with Swift Charts. The watchOS app runs the workout session with Live Activity updates on the Dynamic Island. The interesting engineering was the HealthKit query observer pattern — I built a single
HealthQueryStreamthat surfaces deltas asAsyncSequencevalues, which collapses what’s normally 200 lines ofHKObserverQueryboilerplate into a cleanfor try await sample in streamloop.”
Why this capstone
HealthKit is the single most-asked-about iOS framework in fitness-company interviews (Strava, Whoop, Garmin, Apple Health team, Peloton). It has the worst API ergonomics in the Apple ecosystem — building around it well is itself a signal. Combined with SwiftData+CloudKit (the current Apple-recommended path) and a watchOS complication, this capstone covers an unusually wide surface.
Files
- requirements.md — feature list, user stories, acceptance criteria
- architecture.md — module layout, sync strategy, ADRs
- implementation-guide.md — step-by-step build walkthrough
- hardening-checklist.md — production + security review
- interview-talking-points.md — pitch and Q&A
What “done” looks like
- iOS app + watchOS app + complication, all on TestFlight
- HealthKit read/write authorizations limited to the minimum set you actually use
- 30-day trend chart for at least 3 metrics (heart rate, steps, active energy)
- SwiftData+CloudKit syncing workouts between two physical devices
- One Live Activity per active workout, visible on Dynamic Island
- Hardening checklist fully ticked
Next: Requirements