Offline workout logging: what a tracker has to get right when the gym has no signal
Basements, steel-framed gyms, and airplane mode are normal training conditions. This guide sets out what an offline-capable logger must do, and shows how Method saves drafts on the phone, syncs when it can, and never discards your work on a conflict.
GuideUpdated 3 min readMarkdown version
What offline has to mean
Most apps claim offline support and mean "the app opens". For a workout logger that is not enough. You are mid-session, the sets are coming every two minutes, and the phone is in a basement. The app has to keep accepting sets, keep the rest timer running, show you the session you started, and, when signal returns, get all of it to the server without duplicating or dropping anything. If the same workout was touched from another device in the meantime, it has to reconcile without throwing your sets away.
What Method keeps on the phone
The session draft. Every set you log is saved to the phone as part of a workout draft, along with notes, custom rest durations, exercises you removed, and cardio completions that belong to the session. The draft carries flags for whether it needs sync, is queued, or hit an issue.
Cached reads. Programs, the calendar, history, and analytics you have already loaded are stored on disk per athlete. When you are offline they stay visible, with a banner that says "Offline, showing cached data" and the actual time of the last sync, rather than a generic warning.
Your sign-in. The session snapshot is held in the Keychain, so the app opens authenticated without a round trip.
The rest timer, Live Activity, and notification run on the phone and do not need a connection.
How sync happens
When the app sees a connection, queued drafts are sent in order. Method is deliberately optimistic at launch; it assumes online until the network proves otherwise, so a brief blip does not trip the app into offline mode and stall a sync that would have succeeded.
Each result from the server is classified as retryable or terminal. A retryable failure, a timeout for example, is tried again. A terminal one, such as the workout having already been completed elsewhere, is handled rather than retried forever.
Conflicts without losing work
Two rules do most of the work.
Merge by intent. When the phone's draft meets the server's version, Method does not compute a blind difference. Removals only apply to the exercises and sets you explicitly removed on this device. Anything added on another device stays. Exercise swaps keep their slot in the order. Set rows are matched by their stable ids, with safeguards so two local rows can never both claim one server row. Weights and distances are converted into the server's display units during the merge so a unit preference change on another device cannot corrupt a number.
Never discard. If the server says the workout cannot accept your draft, because it was completed elsewhere, is no longer editable, or no longer exists, your local work is re-attached as a separate ad hoc workout. You see the message "This workout changed elsewhere. Your progress was saved separately." The sets are in your history either way.
Cardio and Apple Watch
Cardio activities recorded on the phone are drafted with a write-ahead journal so an interrupted save cleans up correctly. Activities recorded on Apple Watch are queued as durable envelopes on the watch and uploaded through the phone when a connection exists. Apple Health imports run in the background when the phone can reach the server; if it cannot, they wait.
Edges to know
- The web app needs a connection. It plans and reviews; it does not log.
- Suggested loads are computed by the server when a session is loaded. Offline, you see the suggestions that came with the session the last time it was loaded.
- Draft storage is on the device. Deleting the app before a draft has synced loses that draft.
Common questions
- Does Method work offline?
- Yes. The iPhone app saves the session as you log, shows cached programs and history with a banner that states the last sync time, and sends queued writes when you are back online.
- What if I edit the same workout on two devices?
- Method merges by intent. Removals only apply to items you explicitly removed on that device, so additions from elsewhere are never deleted. If the workout has changed in a way that cannot be merged, your local work is kept as a separate ad hoc workout rather than discarded.
- Can I log an Apple Watch cardio activity offline?
- Yes. The Watch records the activity and queues it durably; it uploads through the phone when a connection is available.
- Does the web app work offline?
- No. The web app is for planning and review and needs a connection. Logging is on iPhone, which is where offline support lives.
Try Method
Write your program on the web, log every set on iPhone, and keep the whole history in one place. Free to start.
Related reading
Fast workout logging: what actually makes logging quick, and how Method is built for it
Fast logging is mostly about removing decisions. When the set, the target, and a suggested load are already on screen and the rest timer starts when you tick the set, the only input left is what changed. This page lists what Method does to get there.
Where Method runs: iPhone, Apple Watch, and web
A plain list of the devices Method runs on, the minimum versions, what each surface is for, and what Method does not support, so nobody installs it and finds out the hard way.
Rest timer on the Lock Screen and Dynamic Island: how per-set rest should work
A rest timer is only useful if it starts itself, knows how long this set's rest is, and is visible without unlocking the phone. This guide lists the rules a timer should follow and describes exactly how Method's Live Activity timer behaves, including the edge cases.
Deload weeks: what they are, how to write one, and how they show up in your log
A deload is a planned easy week, not a missed week. This guide covers the common ways to write one, how to build it in a few edits in Method, and why a deload looks different from a skipped week in your history.
Method writes and maintains this page. Every statement about Method is checked against the shipped product. If something here is out of date, email contact@methodapp.net. For general references, link to the Method homepage.