380 miOS app, built for myselfIn daily use
Let's Try
A gym and habit tracker I built because nothing on the App Store scored effort the way I wanted. Local first, no account, no server.
10.7K
lines of Swift
3
targets: phone, watch, widgets
84
exercises seeded
Around 10,700 lines of Swift across three targets: the phone app, a watch app, and widgets. SwiftUI and SwiftData, entirely local first, so there is no account and no backend. The interesting part is the scoring: instead of capping each pillar at 100, effort points are uncapped, so a punishing session actually outscores a short one. Habits are the core object, and the workout and cardio habits tick themselves from real logged activity.
Detail
- SwiftUI and SwiftData, local first. The only optional network call is AI food analysis, using your own key from the Keychain.
- Uncapped effort scoring: reps times effort times load, so heavy work is worth more.
- Ten data models covering habits, workouts, plans, day logs, food, and weekly check ins.
- Seeding repairs before it creates, after a shipped bug meant a plan that lost its exercises could never recover.
Wednesday
Let's Try
Push day
412Effort
Strength 268Cardio 144
Today
✓Workout
✓Cardio
✓Protein
✓Stretch
My role
Everything
Built with
SwiftSwiftUISwiftDataHealthKitWidgetKit