← Back to selected work
Engineering case study
TrainTogether
An on-device fitness coach with live pose tracking, repetition counting, form scoring, session history, health integration, and local language-model coaching.
- Role
- Independent Software Engineer
- Timeline
- Nov. 2025 - Present
- Platform
- iOS / iPadOS
- Status
- Released
Overview
An iOS and iPadOS fitness coach that performs live pose analysis, repetition counting, form scoring, workout tracking, and on-device coaching.
Contributions
- Shipped real-time pose tracking, rep counting, form scoring, HealthKit synchronization, and local session history.
- Built the MediaPipe landmark-to-pose pipeline with per-frame smoothing, rolling-window validation, and body-angle constraints to stabilize counts under real-camera noise.
- Designed FormConfig and RepFormTracker so 32+ exercise detectors share one scoring and feedback path.
- Integrated llama.cpp coaching, SQLite persistence, optional CloudKit backup, and deterministic mock-landmark tests.
System design
| Capture and pose | Camera frames are converted into normalized MediaPipe landmarks and filtered before exercise evaluation. |
|---|---|
| Exercise logic | Exercise-specific detectors plug into shared rep-state, scoring, and feedback abstractions. |
| Local intelligence | llama.cpp provides coaching on device after model installation, reducing network dependency. |
| Platform services | HealthKit, CloudKit, local databases, and Apple UI frameworks connect the analysis engine to the complete product. |
Outcome
A production fitness workflow in which the core analysis path remains local, testable, and reusable across a growing exercise catalogue.
Core stack · SwiftUI · MediaPipe · llama.cpp · SQLite · CloudKit · HealthKit
Discuss the work
Need implementation detail or engineering context?
Email a specific question about the architecture, trade-offs, or validation approach.
