
Go Again
2026 · iOS app · SwiftIn build
A strength log that tells you what to load next, not just what you lifted — four questions in, a full programme out.
- Swift 6
- SwiftUI
- SwiftData
- CloudKit
The problem
The arithmetic of progression is the part lifters get wrong or stop doing. Most logs record what happened and leave the decision to you, at the exact moment you are least equipped to make it — mid-session, under a bar, tired.
What I built
- Conservative double progression: weight goes up only when every set at the top weight hit the top of the rep range, and backs off only after a miss at the bottom. A suggestion that outruns you costs a failed session; one that lags costs a week, so it lags on purpose.
- Suggestions round to what your plates can actually make, from the bar weight and plate sizes you own — a number you cannot load is not a suggestion.
- Four questions produce a full programme: days per week, goal, training age, available equipment. Anything your kit cannot do is substituted for the closest movement it can.
- A rest timer on a wall-clock deadline, so it stays correct when the phone locks mid-set, with the alert arriving on the Lock Screen and the Watch.
- Pure logic in a Swift package — the seven ways a set is measured, plate maths, 1RM estimation, the quiz, 46 achievements — with 58 tests that need no simulator.
What I took from it
Changing units does not convert existing history. Converting would silently rewrite what somebody recorded, and a training log whose past can change is not a record. Old sessions stay in the unit they were logged in, which is the less clever and more correct answer.