↑ Back to the surface
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 app icon: a dumbbell with a determined face

Let's Try

Push day

412Effort
Strength 268Cardio 144

Today

Workout
Cardio
Protein
Stretch

My role

Everything

Built with

SwiftSwiftUISwiftDataHealthKitWidgetKit