Keep the active workout responsive
Logging needs to stay responsive while timers and training history remain active. I treated that responsiveness as a core product requirement.
A shipped SwiftUI training app and Apple Watch companion, built around fast logging, useful history, and keeping the lifter’s data portable.


Product priorities, workout experience, and agent-assisted native application development.
A shipped iOS and Watch product.
A gym log has to work during a workout. Input friction, a delayed tap, or a missing saved session matters more than another feature. Platepusher brings plans, logging, and history into a native iOS experience, with an Apple Watch companion.
SwiftUI interfaces support workout plans, set logging, history, and training insights. The system includes local state, account synchronization, import and export paths, and a Watch experience for active training.
A plan-text import provides an optional way to bring existing programming in. It supplements manual entry; the application still needs a reliable ordinary path when parsing fails.
Logging needs to stay responsive while timers and training history remain active. I treated that responsiveness as a core product requirement.
A timer must remain meaningful when the screen sleeps. Derive remaining time from a target timestamp rather than assuming a loop kept running.
History and sync must agree, and saved workouts need a dependable recovery path.
Shipping created a new kind of work: preserving the user’s record, fixing interaction regressions, and deciding which improvements belong in a focused training product. Reliability is part of the experience design.