A gym tracker built around one idea: your training runs on a rotation, not a calendar. GymLoop remembers where you are in your split — keyed off the last workout you finished, never the day of the week. Skip three days and it still serves the right day.
Live on the App Store · free with optional Pro · no account, no server, no analytics
The problem
Calendar programs punish real life
Skip one day and the plan drifts. Every calendar-based tracker marks you "behind." GymLoop's rotation position simply waits — Thursday after a missed Wednesday is still pull day.
Mid-set logging is fiddly. Sweaty, one-handed, sixty seconds between sets. The session screen is built for exactly that moment: big steppers, last-time weights prefilled, timers that cycle themselves.
Coming back after a break feels like starting over. Away past a week? GymLoop offers a full-body reset day as a soft on-ramp, then resumes your cycle where it left off. No guilt trip.
Training data shouldn't live on someone else's server. There is no backend. Everything stays on-device and syncs through your own private iCloud.
Audience
Built for the self-programmed lifter
For
People who run Push/Pull/Legs, Upper/Lower, an Arnold split, or their own rotation — and want the app to remember the position, time the rests, and chart the progress. Beginners get five starter routines at onboarding, all fully editable.
Deliberately not for
Gym owners — no member management, no B2B.
Coaches & trainers — no client accounts or remote programming. The no-server architecture rules it out by design; the privacy identity is the product.
Prescribed-program seekers — GymLoop is a tool for your program, not an AI trainer.
How it works
The core loop
Define your split once. Pick a starter — PPL, Upper/Lower, PPL×2, Arnold, Full Body — or build any custom rotation. Each day holds ordered exercises with target sets, reps, and per-exercise rest.
Today tells you what's next. One big Start button with the day and its exercises. Overriding with a different day never breaks the rotation position.
Set → rest → set. Two-tap logging, prefilled weights, countdown rings, rest alerts that fire with the screen locked. Supersets alternate with no rest inside the pair.
Finish. The session lands in History with duration, sets, and volume — merged with your Watch's heart rate and calories by time overlap.
Return from a break. Past the gap threshold, GymLoop offers a full-body reset day, then hands control back to your cycle.
Everything built to date
Feature inventory
Workout
Rotation engine + gap detector (configurable threshold and reset length)
Automatic set/rest timers with lock-screen alerts; optional cardio warm-up timer
Five starter routines, applicable any time without touching history v1.1
Supersets — chained exercises, no rest inside the pair, watch included v1.2
Plate calculator with per-unit bar weights v1.2
Warm-up ramp hints on heavy first sets (bar ×10 → 50% → 70% → 85%) v1.2
Progression coach, free: hit your reps and the next session prefills a small increase; three stalls suggests a deload v1.1
Timer-only mode — tap in, tap out, back-fill exercises later; Siri "gym started / gym done"
Retro logging, incl. plain-language entry parsed by on-device Apple Intelligence behind an editable preview v1.1
~120-exercise catalog with autocomplete and misspelling guard so trends never split
Durations read as lifters say them — "49m", "1h 12m" — everywhere a session is summarized v1.2
Apple Watch v1.1 · Pro
Whole sessions from the wrist, phone optional — exercises, timers, logging, haptic when rest ends
Real HKWorkoutSession: live heart rate and calories, saved to Apple Health from the watch (the phone never writes — no hollow duplicates)
Phone-led sessions auto-record on the wrist in the background, with live set progress mirrored
Offline-safe sync with a "log it as Pull?" reconciliation card for phone-free visits
Staying on the hook, gently
Streaks + a GitHub-style training heatmap
One soft, travel-time-aware reminder at your usual gym time — the app's identity is "never nags"
Widgets that answer exactly one question — "what do I do next?" — with an interactive start-timer button v1.1
Live Activity / Dynamic Island with the active set and rest countdown
Post-workout share card: a clean image of the day's top sets, volume, and streak v1.2
Weekly recap card (Pro) that names time-only sessions honestly instead of reading "0 sets, 0 kg" v1.2
Progress photos with pose tags, guided camera (stencil, ghost overlay, self-timer), side-by-side compare — private iCloud only, and the app says so where you take the photo: "no one else can see them, not even us"v1.2
BMI card and body goal; read-only Apple Health import of bodyweight and Watch/Fitness+ workouts
Trends Pro
Per-exercise charts: top set, estimated 1RM, volume; measurement trend lines; plateau badge; readable scrub bubble in both themes v1.2
Weekly recap card — last week's sessions, volume, and PRs
Data & trust
Full workout history is free, forever — Pro gates analysis, never your data
CSV + JSON export of everything, free
Four languages: English, German, Spanish, Brazilian Portuguese — app and App Store listing v1.2
$2.99/mo · $19.99/yr with 7-day trial · $49.99 lifetime — India ₹999, Brazil R$59.90
Pro is pitched in four places and nowhere else: one soft slide at the end of onboarding ("Start 7-day free trial" / "Not now"), once after the third finished workout, one reminder at the sixth, and whenever a locked feature is tapped. Lapsing never hides existing data. Free in 175 regions.
The Pro screen v1.2
Rebuilt after studying what converts without nagging: plans above the fold; a pinned Continue with the exact terms beneath it ("7 days free, then $19.99/yr · cancel anytime"); a how-the-trial-works timeline (Today → Day 5 reminder → Day 7 billed) backed by a real local notification two days before the trial ends; seven features rewritten as outcomes ("See every lift go up", "Train from your wrist"); and a free-vs-Pro table so "free is real" stays credible.
Deliberately not adopted from the growth playbook: hard paywalls, weekly plans with 3-day trials, countdown timers, video on the paywall, or more automatic prompts.
Privacy
No server, by architecture
Persistence is SwiftData mirrored to the CloudKit private database — the user's own iCloud, encrypted under their account. The developer has no server and structurally cannot see any user data.
HealthKit is read-only on the phone; workout writing happens only on the Watch, where a real recording exists. The only network traffic the app ever generates is the user's own iCloud sync. No third-party SDKs.
One engine, two screens. GymLoopKit — a platform-agnostic Swift package holding the session state machine, rotation logic, gap detector, progression advisor, plate/warm-up math, and recap builder. Pure functions, injected time, 124 unit tests. The phone and the watch drive the same engine.
Tested where it counts. 56 app-level tests including StoreKitTest purchase flows; localization via String Catalogs.
Release tooling. Debug builds carry a Developer section (preview onboarding without writing data, toggle the Pro entitlement) and screenshot staging scenes; a one-command composer turns staged captures into the App Store screenshot set.
Status · 19 August 2026
Releases
Version
Status
Contents
1.0
LIVE
Core loop, timers, body tracking, Trends, widgets, Live Activity, Siri — on the App Store since Aug 3, 2026
1.1
LIVE
Apple Watch app, free-forever history, starter splits, coach, export, Apple Intelligence logging
1.2
IN REVIEW
Supersets, plate calculator, warm-up hints, share cards, weekly recap, DE/ES/PT-BR, redesigned Pro screen + onboarding slide, new App Store listing (subtitle "Weightlifting Log & Rest Timer", six new screenshots, four store locales). Build 8 submitted Aug 19, 2026 — manual release