PulseTrack 💪
A free workout tracker that lives on your phone and works with no internet.
Pick a program, log your sets, beat your records. No account, no ads, no sign-up. Your data stays on your phone.
Version 2.54.0
PulseTrack installs to your home screen like a normal app. It comes with 55 ready-made programs (nearly all of them planned over several weeks, six of them two-a-day, with morning and evening sessions; 12-week plans from Arnold, Ronnie Coleman, Phil Heath and Kris Gethin, plus routines of pro bodybuilders like Mike Mentzer, Dorian Yates, Frank Zane, Chris Bumstead, Flex Wheeler, Lee Priest, Layne Norton, Reg Park, Dave Draper and Dexter Jackson) and 625 exercises, and you can add your own of both. It has rest and interval timers, a separate cardio and sports logger, charts, personal records, a 1-rep-max calculator, body tracking, and a muscle map that shows what is recovered and what is behind. You can change how it looks (light or dark, 13 themes, any colour, 8 fonts).
Contents
Install and update
Install. Open the app link in your phone's browser once, with internet.
| Phone | Steps |
|---|
| iPhone (Safari) | Share button → Add to Home Screen → Add |
| Android (Chrome) | ⋮ menu → Install app (or Add to Home screen) |
After that it opens full screen like any app and works offline.
Update. When new files have been uploaded to GitHub:
- Open the app with internet.
- Close it fully and open it again.
- You have the new version, and your data is still there.
Android updates on the first refresh. iPhone can be slower: if you don't see the update, close the app completely and reopen it while online.
Your first workout
- Open the app. You land on Home. Nothing is picked for you.
- Tap Choose a Program and look around. Opening a program only lets you look, it never makes it yours. Tap Select on the one you want (more in Your current program), or start Freestyle for a free workout.
- Tap a day to see every exercise with its sets, reps and rest.
- For each set, type your weight and reps, then tap the check mark. The rest timer starts by itself.
- Tap Finish Workout. You get a summary, and the next day lines up as Up next.
Programs
The Workout tab along the bottom (next to Home, History and Progress) opens this page, with all the programs, Build me a program, the playlist and the rest. If a workout is running, the tab takes you back to it from another tab, and tapping it again while you are on the workout (or the day list) goes up to this page.
Built in (55)
12-week plans, week by week: Phil Heath, Lou Ferrigno, Arnold Schwarzenegger, Dorian Yates (Blood & Guts), Mountain Dog 200-Rep (John Meadows), Jay Cutler, Ronnie Coleman, Kris Gethin Legacy Fat Loss Trainer, Kris Gethin 12 Weeks to Muscle.
Other programs:
- Kris Gethin: 12 Weeks to Muscle (84 days, hypertrophy first, then drop sets, supersets and giant sets)
- FST-7: Big and Ripped (8 weeks)
- FST-7 Hard Body Blueprint: Level 1
- Jim Stoppani: Shortcut to Shred (6 weeks)
- Jim Stoppani: Super Shredded 8 (base 6 days)
- HIIT 100's fat-loss program (36 workouts)
- Kai Greene: Beast of the Beach (6 weeks)
- Kris Gethin DTP 4-Day Split
- Arnold Blueprint to Mass and to Cuts
- Bulk with Buendia and Shred with Buendia
- USN 5 Day Mass Plan
- 6-Day Upper/Lower Split (High Volume)
22 more from pro bodybuilders, new in 2.37.0, 15 more in 2.39.0, 4 two-a-day programs in 2.40.0, and Chris Bumstead's push/pull/legs in 2.41.0: see Pro bodybuilder programs below.
The Programs screen (new look in 2.37.0, two-a-day shelf in 2.40.0)
The list used to be a tall stack of buttons and big cards. It is now built to be scanned:
- Current program card on top: the program you are on, your week, and the next workout (Next: Week 3 · Day 2: Pull), with an Open button. If nothing is selected it says so.
- Two-a-day shelf (new in 2.40.0): right under the current program, a row of sunrise-to-night cards, one per two-a-day program. Each shows the athlete, the title, the AM session and the PM session of its first double day (for example AM Chest & Back / PM Thighs, Calves & Abs), and days a week. Swipe sideways for the rest, tap a card to open the program, or tap See all. The shelf only shows on the plain All view; search or any filter hides it so the list stays the list.
- Tools in one compact grid: Build me a program across the top, then Create your own, Paste a program, Import a file, Share link, Guided mobility and Stretch routine, and (new in 2.43.0) Steal a day and Playlist on a row of their own. Same buttons as before, a third of the height.
- Search by program name, athlete, tag, workout name or exercise. Typing "hack squat" lists every program that has one; "zane" lists his three; "mentzer pullover" narrows to the one program that has both. Every word has to match, and the match is highlighted.
- Filter chips with counts: All, Pro plans (tied to a named athlete), Two-a-day (any program with morning and evening sessions), Mass, Cutting, Strength, Beginner and Mine (programs you made or imported).
- One slim row per program: a coloured badge with the athlete's initials (the same colour for every program of one athlete), the title, and one line of facts, like Mass · 6 days/wk · 12 weeks · Advanced. Two-a-day programs also carry a small gold ☀ ☾ AM+PM tag (☀ wk 10–12 when only some weeks train twice a day). Rows are grouped as Your programs, Pro programs (by athlete) and More programs. The current program's row says ✓ Current.
- Tap a row to open it. Tap ⋯ for the rest: Open program, Steal a day from it (2.43.0), , and (still asks first; a built-in program can be added back later).
How a two-a-day program looks inside (new in 2.40.0)
Open one and the day list shows what each session is. A day titled Mon AM: Chest & Back reads ☀ MONDAY · MORNING over Chest & Back, with a gold bar down the left; Mon PM: Thighs, Calves & Abs reads ☾ MONDAY · EVENING with an indigo bar and sits tight under it, so each day's pair is one block. A note above the list says how it runs: do the morning session, eat and rest, then the evening session a few hours later. Each session is still its own workout, with its own sets, timer and finish screen, and it counts when you finish it, so Up next goes from Monday morning to Monday evening to Tuesday. The progress line says sessions done instead of days. Programs that put both in one day (Franco Columbu's Chest, Shoulders, Abs (AM) + Arms (PM)) show the two sessions on two lines inside the card.
It works for your own programs too: name the days Mon AM: Legs and Mon PM: Arms (or Legs (AM) + Arms (PM)) and they get the same look, the AM+PM tag, and a place on the Two-a-day shelf.
Pro bodybuilder programs (new in 2.37.0)
Routines that well-known bodybuilders trained on, as published in books, magazines and training journals. Every one follows its source's exercises, order, sets and reps. Where a source gave a range of sets ("4-5 sets") the lower number is used, and where it did not say how long to rest the app uses a normal rest for that kind of lift; each exercise's note says when something was filled in. These are written up from published accounts. They are not official programs from the athletes or the publishers, and none of the people named are connected with PulseTrack. Several are far more volume than most people can recover from (Oliva, Draper, Columbu), so read the program's description before you start.
| Athlete | Program | How it runs | Source |
|---|
| Frank Zane | Beginner Full Body | 3 days a week; 1 set, then 2 sets | Zane Body Training Manual |
| Frank Zane | Upper/Lower 4-Day | 2 sets of 10 on every move | Secrets of Advanced Bodybuilding |
| Chris Bumstead | Off-Season 8-Day Split | 3 on, 1 off; machines, drop sets, slow lowering | Fitness Volt |
| Layne Norton | PHAT | 2 power days and 3 hypertrophy days a week | StrengthLog |
| Lee Haney | Stimulate, Don't Annihilate | 3 on, 1 off; chest/arms, legs, back/shoulders, two ways each | Set For Set |
| Kevin Levrone | 6-Day Split | 3 workouts, each twice a week; heavy then pump work | Fitness Volt |
| Sergio Oliva | The Myth's 6-Day Routine | Very high volume, weight added every set | Marty Gallagher's account |
| Reg Park | Beginner 5x5 | Full body A/B, 2-week cycle | Fitness Volt |
| Dave Draper | 1960s Training Journals | Two alternating days, six days a week | davedraper.com |
| Dexter Jackson | Four-Day Split | Chest/biceps, quads, shoulders/triceps, back/hamstrings | Fitness Volt |
| Larry Scott | Mr. Olympia 1965 Split | One muscle a day, 6 days | Fitness Volt |
| Vince Gironda | 8x8 Method | 8 sets of 8, 30 s rest, 4 workouts | Fitness Volt |
| Arnold Schwarzenegger | The Golden Six | 6 exercises, 3 days a week | Fitness Volt |
| Jay Cutler | 4-Day Mass Split | Chest/triceps, back/biceps, shoulders, legs | Fitness Volt |
| Franco Columbu | 14-Day Rotation | 2 weeks, morning and evening sessions combined into one day | Set For Set |
| Big Ramy | 5-Day Bro Split | One muscle a day, machines and cables | Set For Set |
| Pro collection | Leg Days | Platz, Warren, Walker, Curry (pick one as your leg day) |
The two collections are not weekly plans. Each "day" is one athlete's signature session; use it in place of your own leg, chest, back or shoulder day.
15 more, new in 2.39.0
| Athlete | Program | How it runs | Source |
|---|
| Dorian Yates | 1987-1992 Build | 2 working sets to failure per exercise; chest/arms twice, legs heavy and light, back/shoulders once | Lift Vault |
| Mike Mentzer | Traditional 5-Day Split | His pre-Heavy-Duty split: 5 sets of everything, one muscle a day | Set For Set |
| Chris Bumstead | 2024 Off-Season 9-Day Split | Tri-sets, two 10x10 sets, rest on days 4 and 9 | Primebeast newsletter |
| Flex Wheeler | Bro Split Hypertrophy | 6 days, 4x12 on almost everything, two leg days (Week 1 of his published program) | Boostcamp coach page |
| Flex Wheeler | Super Hypertrophy | Same layout, quad-first legs and cable crossovers (Week 1 of his published program) | Boostcamp coach page |
| Lee Priest | Full Body + Arm Day | Three full-body days plus his superset arm workout | BarBend, Set For Set |
| Ronnie Coleman | Back & Leg Specialization | Thickness and width back days, two leg days | Fitness Volt |
| Nick Walker | Weekly Split | Legs, push, pull, legs, mixed; the source lists exercises only, so sets and reps are ours | Fitness Volt |
| Kai Greene | 5-Day Body-Part Split | High volume, calves twice a week | Lift Vault |
| Vince Gironda | 10-8-6-15 Method | Upper/lower; 4 sets at 10, 8, 6 and 15 reps off your 6-rep max | Lift Vault (Iron and Grit) |
Several of these are third-party reconstructions or a single published week of a longer program; each description says which, and where the source gave no sets, reps or rest the notes say the numbers are ours.
4 two-a-day programs, new in 2.40.0
Twice-a-day training is rarely published set by set, so each description says exactly what comes from the source and what is our arrangement of it.
| Athlete | Program | How it runs | Source |
|---|
| Arnold Schwarzenegger | Double Split (Two-a-Day) | Mon/Wed/Fri: chest and back in the morning, thighs, calves and abs in the evening. Tue/Thu/Sat: shoulders, arms and calves. The same sets and reps as weeks 10-12 of the 12-week Arnold plan, as a one-week program you can repeat | the Arnold 12-week plan already in the app |
| Jay Cutler | Two-a-Day Cycle | One body part a day, twice a day, three on, one off, two on, one off: chest, arms, back, rest, shoulders, legs, rest. Back is 18 sets of rows and pulls in the morning and 5 sets of deadlifts in the evening; the other days use the exercises from his published sessions, heavy work in the morning and isolation in the evening (that split is ours) | Fitness Volt (his cycle and two-a-days), Bodybuilding.com (Living Large back day) |
| Dave Draper | Double-Split Days (1964-65 Logs) | The real days he logged on his site, each big day split into a morning and evening session: chest and back, then thighs and calves; delts and triceps, then biceps and forearms; plus a single back day. His logged weights are in the notes as a guide | davedraper.com, "Dave Draper's Actual Workouts of the 1960s" |
| Lou Ferrigno | Peak Two-a-Days | His six body-part workouts (chest, back, legs, abs, shoulders, arms) as a twelve-session week, each muscle twice. Which workout goes in the morning and which in the evening is ours | Fitness Volt (from Iron Man) for the numbers, The Body Blueprint for the report of twice-daily training |
Two programs that were already in the app train twice a day as well and now sit on the shelf: Franco Columbu's 14-Day Rotation (AM and PM in one day) and the Arnold 12-Week Plan (weeks 10-12). I also looked for Sergio Oliva, Kevin Levrone, Kai Greene, Phil Heath and Ronnie Coleman, but could not find a published two-a-day routine with exercises and numbers for them, so they are not here.
Chris Bumstead's push / pull / legs, new in 2.41.0
| Athlete | Program | How it runs | Source |
|---|
| Chris Bumstead | Push / Pull / Legs | Two push days, two pull days and two leg days, then a rest day. A few heavy sets lead each day, then constant-tension work: timed 40-second sets, supersets (chest flyes with triceps, calves with hamstring curls, lateral raises with push-ups, leg press with calf raises) and drop sets, ending Pull Day 2 with one big dumbbell-curl drop set | Fitness Volt, "Chris Bumstead Reveals Intense Push, Pull, Legs Workout Routine" (his 2019 YouTube video) |
The article gives no schedule, so the six days run back to back with a rest day after them; that arrangement and the rest times are ours. Warm-up sets are written in the notes and are not counted in the sets, and the article's 2 drop sets of 20 cable rows on Pull Day 2 are left off. This is a different split from his two off-season programs.
Steal a day (new in 2.43.0)
Take one workout from any program without taking the whole program. Programs → Steal a day opens a finder:
- Pick a muscle (Chest, Back, Shoulders, Arms, Quads, Hams & glutes, Calves, Abs) and it lists the best days for it from every program in the library plus your own, best first. A day is ranked by how many of its hard sets hit that muscle, and only days that are mostly that muscle (at least 40% of the sets and at least 5 sets) are listed. Each row shows the day, the athlete and program, its biggest muscle groups with set counts, and the number of exercises and minutes.
- Or search an athlete, a program or a day name ("Cutler", "back width", "PHAT"). The list shows 30 at a time with Show more.
- Tap a day to see all its exercises with sets and reps, then choose what to do with it:
- Do it now: a one-off Freestyle workout with those exercises. Your program is not touched, and your current program stays your current program. If your Freestyle workout already has sets logged, it asks before replacing it.
- Add to my current program: a new day at the end of it. Only offered when your current program is one you made yourself (see below).
- Add to one of my programs: pick any program you made, and the day goes at the end of it.
- Start a new program from it: a program of your own with just that day. Add more days to it later from the same screen.
- Nothing in a built-in program is ever edited. The day is copied with fresh ids, and supersets are kept (the last exercise is never left linked to nothing). That is why Add to my current program is not offered while a built-in program is current: use Add to one of my programs or Start a new program from it instead.
- Other ways in: a program's ⋯ menu (Steal a day from it, showing only that program's days), the workout screen's ⋯ More → Steal this day… (for the day on screen), and the Weak points card on Progress → Strength, whose new Find a day for legs button opens the finder already set to your weakest muscle group.
Program playlist (new in 2.43.0)
Run programs one after another with no thinking about it, for example 8 weeks of Chris Bumstead's push / pull / legs, 1 deload week, then 8 weeks of Arnold's double split. Programs → Playlist:
- Build a playlist: add programs (search by name or athlete) and deload weeks, set the number of weeks for each with − and +, reorder with the arrows, remove with ✕. It shows the total, for example "17 weeks in all, about 4 months". A program you add runs for its own length (12 weeks for most of the library). Two ready-made ones are offered: Mass cycle (12 weeks of CBum push/pull/legs, a week off, 12 weeks of Arnold's double split) and Base then size (6 weeks of Reg Park's full-body 5x5, a deload week, 12 weeks of Frank Zane's upper / lower).
- Start today makes the first program your current program, starting at Day 1 (its earlier progress in the program is cleared, and the app tells you so before you start).
- It moves on by itself. Each time you open the app, if the current stage's weeks are up, the next stage begins: the next program becomes your current program at Day 1 and a note says so. A deload stage keeps your current program and tells you to run it with the same weights and about half the sets. It only ever moves one stage at a time, so a long break never skips a whole program. After the last stage it says Playlist finished.
- Home shows one slim row above the work check-in: Week 2 of 8 · Chris Bumstead: Push / Pull / Legs and Next: Deload week on Dec 23. Tap it for the whole line-up with dates, a ✓ on finished stages and the current one highlighted. There you can Skip to next stage, add +1 week to the current stage, or Stop playlist (your current program stays as it is). If you switch to a different program on your own, the sheet offers Make it my current program to get back on track.
- On Progress too: the History tab's Training year section shows the whole chain with dates above the calendar (current stage marked, later stages with their start and end dates).
- If a program in the playlist was deleted from the phone, it is added back from the built-in list when its turn comes.
- The playlist is saved with your settings, so it is in backups. Stopping it, or never starting one, changes nothing.
Your current program
Your current program is the one that Home, the side menu and Start Workout use. You choose it. The app never picks it for you, and browsing never changes it.
- On the Programs screen, tap ⋯ on a row and choose Make it my current program, or open a program and tap Select. The one you picked sits in the Current program card at the top, and its row shows a green ✓ Current tag.
- Open a program you haven't selected and a bar says Just looking with a Select button. Inside one of its workouts, a small bar says Not your current program with Select it, which also makes that day your next one.
- While you look around, Home and the side menu keep showing your own program.
- Switch week counts as choosing the program, because you are starting it there.
- Empty Workout, Do Again, Freestyle, and the Open buttons after you add or create a program do not change it.
- If nothing is selected and you finish a program's workout, a note offers Make "…" your current program?. Nothing happens unless you tap it.
- Deleting a program you were only looking at leaves your current one alone.
Programs that run for several weeks
- A week bar is pinned right under the header of the Days screen (Week 4 of 12 · 3/64 done, with a Switch week button). It stays there while you scroll the list of days.
- Switch week opens a grid of the weeks. Tap the one you are on: earlier weeks are marked done and Up next jumps there. Going back to an earlier week works the same way. Your saved workouts and PRs are never changed.
- This works for every program that is laid out week by week: the 12-week plans, Kris Gethin 12 Weeks to Muscle and Legacy 12-Week, FST-7 Big and Ripped, both Jim Stoppani 6-week programs, the programs that repeat a few days over several weeks (Kai Greene 6 weeks: days 1-6 for weeks 1-3, days 7-12 for weeks 4-6; FST-7 Level 1: weeks 1 and 3 use days 1-5, weeks 2 and 4 use days 6-10), and, since 2.48.0, almost everything else (below). For those, the plan stays on the first set of days until you finish them, then moves to the next week.
- Longer programs (new in 2.48.0). The programs that used to be one week on repeat now run for several weeks, so the week bar counts a real plan (Week 6 of 12 · Build) and the days list has headers like Weeks 5-8 · Build. Which weeks are real and which are ours is spelled out in each program's description:
- Weeks as published. Shred with Buendia is 8 weeks (Phase 1 is weeks 1-4, Phase 2 is weeks 5-8). Arnold's Blueprint to Mass phase 1 and Blueprint to Cuts phase 2 are 4 weeks each (Cuts is now six days a week: Monday/Thursday, Tuesday/Friday and Wednesday/Saturday repeat). Frank Zane's beginner routine is 8 weeks: one set of every exercise for weeks 1-3, then two sets, as his manual says.
- Weeks that PulseTrack adds. The original sources only describe one week or a few weeks, so for the rest we added a plain progression and say so in the description. In the 12-week programs, weeks 1-4 are the routine exactly as published. Build (weeks 5-8) adds a set to the first two lifts of each day (never above 5 sets) and two reps to the other plain lifts. Push (weeks 9-11) goes back to the published sets but heavier on the first two lifts (two fewer reps, 20 s more rest). Deload (week 12) is about 60% of the sets, so go lighter. Jay Cutler's 4-day split is 8 weeks the same way (4 as published, 3 Build, 1 Deload).
- Method programs are left alone. Layne Norton's PHAT, Kris Gethin's DTP split, Super Shredded 8, Vince Gironda's 8x8 (6 weeks plus an easy week) and 10-8-6-15 (8 weeks) keep every set and rep as published, with just an easy final week. Arnold's Golden Six is the same three workouts for 12 weeks (the length is our choice), adding weight whenever you hit all the reps. Anything that is part of a method (8x8, FST-7 finishers, pyramids like 10, 8, 6, 15, drop sets, Tabata, AMRAP) is never changed in any program.
Skipping a workout
Can't train today (a long day of work, an injury, a trip)? You don't need to delete the exercises or turn the day into a rest day.
- On the Home card tap Skip this workout, or tap Skip day at the top of the workout screen. You get one question first: Skip this workout?
- The day counts as done, so Up next moves on to the following day (and to the next week when the week is finished), the same as after finishing a workout. It works the same in the week-by-week plans and in the programs that repeat a few days.
- Nothing is saved to History. No volume, stats or streak days are added, and your records are never touched.
- Any sets you had already checked off for that day are cleared, so it comes back fresh. The question tells you how many.
- In the days list a skipped day says SKIPPED instead of DONE. It stays in the program, and you can still open it and do it later; finishing it makes it a normal DONE day.
- Undo stays on the screen for a few seconds after skipping and puts everything back exactly as it was.
- The buttons only show for the program you are currently on, on a day that has exercises. Rest days have their own mark as done, and Freestyle workouts have nothing to skip.
Busy-season version (new in 2.35.0)
Slammed at work? Open any program's day list and tap Busy-season version. Pick 2, 3 or 4 days a week and 30, 45 or 60 minutes a workout. The app builds full-body days from the exercises that program leans on most (a squat, a hinge, a push, a pull and so on, at least three muscle groups a day) and checks each day fits your time. The preview shows the days before you save; Create this program adds it as a new program called "... · Busy season". Your own program is not changed, so you can switch back when the busy stretch ends. The button is hidden on Freestyle and on busy-season programs themselves.
Build me a program, pick your own muscles (new in 2.50.0)
On the Programs screen, Build me a program now has a fifth split next to Push / Pull / Legs, Upper / Lower and the rest: Pick my own muscles. You build the week, the app fills in the exercises.
- Your days. Each day is a card. Tap the muscles that day trains (chest, back, shoulders, biceps, triceps, forearms, quads, hamstrings, glutes, calves, abs and core, traps, lower back) and set how many exercises each muscle gets, 1 to 8. Or start a day from a ready-made one (Push, Pull, Legs, Upper, Lower, Chest & back, Shoulders & arms, Arms, Core). Up to 14 days.
- Rest days are days in the list. Tap + Rest day and put it where you want it, so "rest only on Sunday" is a 7-day list with the last day a rest day.
- Copy a day. Copy adds a day that runs the very same exercises ("Same exercises as day 1"). Make it different turns the copy into its own day with its own picks. Removing the original hands its muscles to the copy.
- Supersets. Tick Chest ↔ back (Arnold style: one chest exercise, one back exercise, over and over), Biceps ↔ triceps, Quads ↔ hamstrings and Abs in pairs (abs run two by two, for example leg raises with bent-knee raises). With none ticked every exercise stands alone. The longer list starts so the alternation lasts the whole day.
- Exercise choice. Classics (default: the well-known lifts and what you already do), Balanced or Mix it up (fresher picks, steering away from what you did lately). Goal and equipment work as before. Machines only, dumbbells only or bodyweight only builds what fits and says so when a muscle runs short.
- Preview before it is saved. Every day is listed with its exercises, sets, reps and superset pairs. ↻ swaps one for another that trains the same muscle (the superset pair stays), ✕ removes one (its partner is freed), Shuffle re-picks one day with the same muscle counts, Shuffle everything re-picks the lot, Change the days goes back, Save program saves it. Copied days follow the day they copy.
- Length and name. 1 week (repeat it) or 4 weeks with progression (week 2 one more rep, week 3 one more set on the big lifts, week 4 an easy week; rest days stay rest days). Give it a name; it is saved under More programs with the Custom tag.
- Your days, supersets, exercise choice and name are remembered for the next time.
Make your own
- Program builder: create a program, add days and exercises, set sets, reps and rest.
- Edit any program: add, remove, swap or reorder exercises, and change sets and reps.
- Move exercises up and down: every exercise card on the workout screen has an up arrow and a down arrow (top right, above Swap and Delete). Tap one and the exercise changes places with the one above or below it. The card stays under your thumb, so you can keep tapping to carry it further. The arrows are greyed out at the top and bottom of the list. Sets you already typed or checked off move with their exercise. A superset (A1/A2) moves as one block, so it never gets split up; to change the order inside a superset, unlink it, move the exercise, then link it again. It works in every program, including Freestyle, and the new order is remembered. Clear Progress puts the program's original order back.
- Save a finished workout as a routine to repeat it.
- Supersets: two exercises done back to back. They show as A1/A2, B1/B2 and each has its own weight and reps. To make one, tap + Superset with next in the gap between two exercises; tap Superset with next · Unlink to separate them. The rest timer waits until the last exercise of the pair.
- Share a program as a link, or import one from a link or a
.json file.
- Share one workout day (new in 2.19.0). Edit a day the way you like it, then tap Share day on the workout screen (next to Clear Progress). It sends that day exactly as it is now, with your extra sets and swapped exercises, as a link (or a small file if it is very big). The other person opens the link, or taps Programs → Paste a Share Link and pastes it. A sheet shows what is inside and where it will go: by default the same day of the same program if they have it, otherwise the next day of their current program. They can change the program and the day, then tap Replace Day N. That day's exercises, name and length are swapped for yours. Their own day is kept underneath like any other edit, so Clear Progress on that day puts their original day back (exercises, name and length), and so does Reset All Days. A note under the day's name says it is a shared workout until then. Sets they had logged on that day are cleared when it is replaced; saved workouts in History and records are never touched. Or they can tap Just do it once (Freestyle) to run the workout without changing any program. On an iPhone, a link opened in Safari does not see the app on the Home Screen (they keep separate data), so the app offers to copy the link: open the Home Screen icon and use .
Reset and restore
- Clear Progress puts a day back to exactly the program's original: added exercises and extra sets go, removed ones come back. Your History and records are never deleted.
- Deleted a built-in program? Add Back a Built-in Program restores it.
While you train
Logging a set
- Set tags: R regular, W warm-up, D drop set, F failure.
- Previous numbers: each set shows what you did last time.
- Dumbbells: enter the weight of one dumbbell. Your volume counts both hands.
- Each side or total? (new in 2.38.0): cable, machine and dumbbell exercises have a small tappable label above the weight box. A cable crossover has two stacks, a plate machine has plates on both sides, so do you type 25 or 50? Tap the label and pick Each side (type one stack, one side or one dumbbell, and volume counts both) or Total (type everything together, and volume counts it once). The label always says which one the app expects: Each side · Reps, Total · Reps or, for dumbbells, Each hand · Reps. Crossovers and flies show an amber Each stack or total? until you choose. The choice is remembered per exercise (and travels in backups), and the same note shows in Guided mode next to the weight. 25 each side and 50 total count as the same work (500 volume at 10 reps either way). It only affects workouts you save from now on; past sessions keep how they were logged, and estimated 1RM and PRs use the number you typed. Back to the app's default in the same sheet undoes it. Dumbbell exercises still start as Each hand, and barbell, bodyweight and cardio exercises have no switch.
- Bodyweight moves: pull-ups and dips use your body weight, with a Weighted / Assisted switch. The same idea works on every other bodyweight exercise (see the next item).
- Bodyweight exercises: 0 is your body, a number is extra (new in 2.20.0, extra weight added in 2.54.0): on push-ups, sit-ups, planks, hanging leg raises, back extensions, bench dips, bodyweight squats and the rest of the Library's Bodyweight exercises, 0 means just your body and a number is extra weight on top: with 180 lb logged, 0 counts 180 lb, 30 counts 180 + 30 = 210 lb. (Before 2.54.0 a 30 counted as only 30 lb, so adding weight could make a set worth less than none.) The box says BW for a 0 and +lbs for anything else, the column says Added · Reps, and a one-line note shows the sum as you type. Volume, estimated 1RM, PRs, charts, the e1RM chip and strength levels use it; History shows BW × 12 or BW+30 × 12. An box still counts as nothing, so only a typed number counts. Other exercises (dumbbells, cables, machines, barbells) are unchanged: a 30 there is 30. Each set remembers your body weight that day, so a new body weight only changes sets logged without one. Sets from before 2.54.0 are read the same way (and their totals worked out again once), except that a number of is treated as the whole load, as before, since it was most likely the total. If no body weight is logged yet, a note under the exercise offers to open . When you hit the top of the rep range on every set, the suggestion says to add reps or hold a weight.
Say a set (rebuilt in 2.37.0)
The 🎤 Say a set button on the workout screen fills in a set from your voice. The first version often missed, so it was rebuilt.
- It understands how people talk in a gym: "bench 185 for 8", "one eighty five for eight", "two plates for five", "8 reps at 135", "225 x 5", "pull ups 12", "curl forty five pounds ten reps". Phones often write "for" as "4", so "185 4 8" is read as 185 for 8.
- It never fills a set blind. A small panel shows what it heard, with the exercise, weight and reps ready to fix and a Log set button. Pick a different exercise or change a number, then log.
- If the phone can't listen (no internet, microphone blocked, or the iPhone Home Screen app, which does not allow speech input) it says why and lets you type the set in the same panel.
- Settings → Sound, Voice & Feel → Say a set: Ask first (default), Log right away (logs it and shows Undo), or Off (hides the button).
- Limits: most phones send your voice to the phone maker for recognition, so it needs internet and can fail in a basement gym. That is a phone limit, not something the app can fix while staying offline.
In the gym (new in 2.8.0)
Each of these can be switched off in Settings → Workout Screen.
- Suggested weight. Under an exercise that has a rep range (like 8-12) and a last time, a small card shows what you did and what to try today, with a Fill in button (and an Undo). The rule is the usual one: hit the top of the range on every working set and it suggests a heavier weight; miss the bottom of the range on a set and it keeps the weight; otherwise it asks for one more rep. "Heavier" means the next weight you can really load. A barbell uses the plates from your gym profile, and dumbbells use that gym's dumbbell range, so at the heaviest dumbbell it says to add reps instead. It stays quiet when there is nothing to compare (first time, AMRAP, pyramids, timed sets).
- Fill in the next set. Check off a set and the next empty set gets the same weight and reps. Warm-up sets are skipped.
- Timer starts on your first set. The workout timer shows Ready until you check off a set, so opening a day and getting a coffee doesn't count. Tap the pill to start it early.
- Look over before saving. Finish Workout shows a short summary first: time, sets, volume compared with the last time you did that day, any new records, and a note if some sets aren't checked off. Keep going or Save workout. This screen is also the "are you sure?" step: Finish Workout never saves straight away, and Save workout ignores taps for the first moment so an accidental double-tap can't save it. Turn the look-over off and Finish Workout asks a plain Finish workout? question instead.
- Favorites and Recent. In the exercise picker, tap the ☆ next to any exercise to pin it. ★ Favorites and Recent sit at the top of the picker, and the ☆ is also on the exercise's page.
- Set row options. Choose what shows on every set: Last time, the warm-up / drop tag, and Est. 1RM. Weight, reps and the check button always show.
- Left-hand mode moves the check button and the + Set / − Set buttons to the left side.
Gyms and equipment (new in 2.8.0)
Settings → Gyms & Equipment. Add a profile for each place you train: your home garage, a commercial gym, a hotel gym or bodyweight only. Each one has its own bar weight, plates and dumbbell range (smallest, heaviest and step), and a list of equipment it has (barbell, EZ-bar, dumbbells, machines, cables, Smith machine, kettlebells, bands, bodyweight).
- The exercise picker and the swap ideas leave out what the active gym can't do. The picker says what it left out and has Show all. Your own exercises are never hidden.
- If a workout has an exercise the active gym can't do, its card says so with Find a swap.
- Once you have two gyms, a small 📍 gym chip at the top of the workout switches between them.
- The plate calculator and the suggested weights follow the active gym. Until you edit anything there is one implicit gym ("My gym") and nothing is hidden.
Build me a workout (new in 2.19.0, much bigger in 2.21.0)
Home → Build a Workout (in the Start training row), or Build a workout in the side menu. Pick what to train, how long you have and a goal, and it builds a session for you. No account and no internet needed.
- A different mix every time (2.21.0). It used to hand out much the same lifts each time. Now every build is a weighted draw from the best choices for each muscle, and it steers away from what it gave you in the last few builds, from exercises you swapped away, and from lifts in your last three saved workouts. Build Push eight times and you get eight different sessions, with no big lift missing and no odd picks.
- Variety: Favourites leans on lifts you already do and the classics. Balanced is a bit of both. Mix it up (the default) goes for fresh picks. Hit Shuffle for another version.
- Lock, swap, remove, add (2.21.0). After it builds, each exercise has a 🔒 (keep it when you Shuffle: Shuffle the rest), a ↻ (swap just that one for another exercise for the same muscle) and a ✕ (remove it). + Add an exercise adds one more for the muscle that has the fewest. The time updates as you change it.
- What to train: Pick for me, Push, Pull, Legs, Upper body, Lower body, Full body, Chest & back, Shoulders & arms, Arms, Glutes or Core, or tap any muscles yourself (13 to choose from). Pick for me looks at your recovery map and this week's sets and chooses the freshest group (Push, Pull or Legs), leaves out a muscle that is still recovering, and tells you why. With no history yet it starts you on Full body.
- How long: 15, 20, 30, 45, 60, 75 or 90 minutes. It counts sets and rest times and lands within about 10% of the time you asked for. Short on time, it leaves out the smallest muscles and says so.
- Goal: Build muscle (big lifts 6-10 reps, isolation 10-15), Get stronger (big lifts 3-6 reps with longer rests) or Tone & endurance (12-15 and 15-20 reps with shorter rests).
- More options (2.21.0): Equipment: your gym (default), Dumbbells, Machines & cables, Barbell or Bodyweight, always inside what your active gym has. Number of exercises: Auto, or 3, 4, 5, 6 or 8 (if that many will not fit the time, it says how long they take). Style: Straight sets, or Supersets (saves time), which pairs opposite muscles (chest with back, biceps with triceps) and fits more into the same time. Extras: a Core finisher adds one abs exercise at the end.
- What it picks from: the exercise library, using each exercise's muscle. It only offers what the can do, starts each muscle with a big lift, never picks the same movement twice if there is another choice, favours well-known lifts, and leaves out jumps, carries, stretches and cardio. The first lift of a big muscle gets 4 sets (3 when time is tight).
Work check-in (new in 2.19.0)
Landscaping, building, moving house: a hard day at work uses the same back, grip and legs you lift with. Home has a one-row Work today card with three buttons: Light or off, Normal and Heavy. Tap one at the end of the day (tap it again to clear it, or tap Yesterday? to fill in yesterday). It is saved per day and is part of your backup.
- Only Heavy changes anything. A heavy day counts in the Recovery map as extra hard sets for lower back, forearms and grip, legs, shoulders, traps and back, so the Muscles tab, the "still recovering" line on Up next and Pick for me all know your back is tired. Chest and arms are not affected. Light and Normal days are just a record.
- Suggested weight stays put. On a heavy day, lifts for those muscles keep their weight instead of suggesting more ("Heavy work day, so keep this weight and add a rep or two"). Chest and arm lifts still go up.
- Build me a workout goes easy. It leaves out deadlifts, bent-over rows, shrugs and carries, prefers machines and cables, and builds one exercise fewer.
- A heavy day reshuffles the week (new in 2.44.0). If you mark Heavy and the workout up next is hard on those same muscles (Legs, or a back day), the Work card offers a lighter day from the same program to do today instead: "Heavy work today, and Legs is hard on the same muscles. Chest & Arms is easier on them." Do Chest & Arms today moves it up; Keep Legs hides the offer for today. Nothing else changes: no day is marked done, the days keep their order, Legs stays up next once you have done the swapped-in day, and Back to Legs puts it back with one tap. How hard a day is on you comes from the same weights as the recovery map (lower back and forearms 4, legs 3, shoulders, traps and back 2, everything else 0), averaged over the day's hard sets. A day is only offered a swap at 1.5 or more, and the day offered has to score at least 1 lower. Not offered for Freestyle, after you have already trained today, in the "Yesterday?" view, or when Go easier after heavy work days is off.
- Switch: Settings → Workout Screen → Go easier after heavy work days (on by default). Turn it off and the check-in only feeds the recovery map. Hide the card with Settings → Home screen.
Pre-workout protocol (new in 2.45.0)
Know when your food has settled and your supplements have kicked in. On a training day Home shows a small 🍌 Pre-workout protocol row (also Workout → ⋯ More → Pre-workout protocol). Tap it, then Start before you leave.
- The steps are two by default: Eggs + bananas (60 minutes to settle) and Creatine + caffeine (45 minutes to kick in). Tap Taken when you have had one and its countdown starts; earlier… is for something you took 5 to 45 minutes ago, undo for a mis-tap. When a countdown ends you get a chime, a buzz, a spoken line and a message ("Creatine and caffeine are kicking in. Head in and warm up."), plus a notification if the app is in the background and notifications are allowed.
- Edit changes the names, icons and minutes (1 to 240) and adds Pre-workout drink, Water, Quick carbs, Coffee or Your own (up to 8 steps). Back to the usual restores the two defaults.
- Lift at (optional): set the time you want to be under the bar and each step shows Take at (your lift time minus its wait), with a reminder when that time comes.
- The summary at the top says Ready at 5:42 PM once every step is taken. While it runs, Home shows the next countdown; when everything has had its time it says Ready to lift. A run is dropped after 4 hours.
- Countdowns follow the clock, so they are right whenever you open the app, even if the phone slept. A web app cannot ring while it is closed or the phone is asleep, so Phone alerts saves a small calendar file (
.ics) whose alarms do: one at the time each taken step is ready, and take-it reminders plus the lift time if you set one.
- Saved in settings (the steps and the run), so it is in backups. Stop clears a run.
Simpler screens (new in 2.52.0)
Less to read at a glance. One switch, Settings → Simpler screens (on by default), controls all three. Nothing is removed or saved differently: it only changes what is shown, and everything folded opens with one tap.
- Home shows one reminder at a time. When more than one is waiting (the backup reminder, the easy week card, the report card or monthly recap), only the most important shows, with a small + 2 more reminders line under it. Tap the line to see the rest, and tap it again to tuck them away. When you dismiss one, the next one comes up. Start Workout moves up the page.
- A finished exercise folds into one line on the workout screen: its name, how many sets and your best set (for example "3 sets · top 195 lb × 8"). It folds about two seconds after the last set, so you can still add a set or fix a number. Tap the line to open it again; it then stays open. Supersets, giant sets and timed exercises never fold. Exercises that were already finished fold straight away when you come back to the workout.
- The day list opens only this week. The other weeks of a multi-week program are one line each with the number of days ("Weeks 5–8 · Build · 6 days"). Tap a week to open it, and tap this week to fold it.
Guided mode (sets added in 2.36.0, each-side note in 2.38.0, supersets in 2.51.0)
Tap Guided mode on the workout screen for one exercise at a time with big steppers: weight and reps, one big Log set button, and Prev, Swap and Skip at the bottom. Chips show every set (✓ with what you lifted, the current one highlighted). It writes into the normal workout screen, so nothing is lost if you switch back. Timed and other special exercises open in the normal view.
- + Set and − Set sit under the chips. + Set adds a set to this exercise. − Set takes off the last set you have not logged yet; it will not remove a set you already logged (uncheck it in the normal view first), and an exercise always keeps at least one set. A set removed from the middle moves later logged sets up, so nothing is lost.
- Extra sets are the ones you add on top of the program's own. They show with a dashed chip and a + (like S4+), and the line under the name says "extra set".
- Skipping an extra set deletes it. On an extra set the bottom button says ✕ Skip set and just removes that set, then moves on when the exercise has nothing left to log. On one of the program's own sets, Skip ▶ skips the exercise as before, and any unlogged extra sets on it go too, so they do not sit there unchecked when you finish.
- All done screen: after the last set you can finish the workout or add one more set of the last exercise.
- Your machine setup note for the exercise shows under its name (see below).
- Supersets, tri-sets, giant sets and circuits (new in 2.51.0). Exercises linked with Superset with next (the A1 / A2 / A3 groups on the workout screen) now come up as one screen. Each exercise in the group has its own card with its own Weight and Reps (type them or use + and −), a 🔄 button to swap just that one, and its target and last time. One big ✔ Log round 1 button logs set 1 of every exercise in order, through the same buttons as the normal screen, so the rest timer, PRs and history work the same. The rest timer comes up after the last exercise of the round, and the Log button moves up above it so the timer never covers it. Then it moves on to round 2, starting from the weight and reps you just used.
- The chips show R1, R2, R3 (a round is done when every exercise has that set). + Round and − Round add or remove one set on every exercise in the group. An extra round shows with a dashed R6+ chip, and ✕ Skip round deletes it. Prev and Skip move a whole group at a time, and the top line says "Exercises 3–4 of 16".
- If the exercises in a group have different numbers of sets, the later rounds only show the exercises that still have a set; the others say "all 3 sets done". A timed exercise in a group is listed with "timed or tracked differently" and is logged in the normal view, while the rest of the group still logs here.
Machine setup notes (new in 2.36.0)
A short note per exercise and per gym, like "Seat 4, pin 7, back pad 3", so you do not have to guess next time. Machines, cables, benches and similar exercises show a ⚙ + Setup button on their card in the workout. Tap it to type a note, or tap Seat, Back pad, Leg pad, Pin, Handle, Grip, Incline or Stance to start one. Once an exercise has a note, the note shows in its place on the card (and in guided mode) and tapping it changes or clears it. If you use more than one gym, each gym keeps its own notes, and the editor shows your note from your other gyms with a Use button. Want the button on every exercise? Settings → Machine setup notes → Every exercise. Notes are part of your backup.
Guided mobility (new in 2.36.0)
Hands-free timed flows. Open them from Programs → Guided mobility (hands-free), from the Guided mobility button on the finish screen, or from the Home card on a heavy work day.
- Six routines: Back relief (6 min), Hips and legs, Shoulders and upper back, Hands and grip (forearms and wrists, for tool and hose work), After-work reset (a full-body unwind that ends with box breathing) and Pre-lift warm-up (dynamic).
- How it runs: pick one and put the phone down. A short Get ready countdown comes before each move, then the hold. Moves with two sides run Left side, a quick Switch sides, then Right side. Big countdown ring, a one-line cue for the move, Up next, and beeps for the last three seconds. The screen stays awake. Pause, ◀◀ (restart the move, or go to the previous one), ▶▶ (skip) and +10 s are always there. Leaving the app pauses it, and the ✕ asks before ending.
- Suggested for you: the first one on the list. A heavy work day (from the Home check-in) picks back relief, a flagged injury picks the matching routine, and otherwise it goes by what you trained most recently and is still recovering.
- It counts as recovery: a routine you finish (or get at least 60% of the way through) is saved. For the areas it covers, the recovery map shows about 15% less waiting, as long as you did it after the last hard work there (a heavy work day counts as ending about 5 pm, so a stretch at lunch does not count yet). The Pre-lift warm-up is saved but does not change recovery.
- Home on a heavy work day shows a card offering back relief until you have done one that day.
Rest timer
- Starts by itself when you check off a set (you can turn this off in Settings).
- In a superset it waits until the last exercise of the round. It does not start after your final set, and it uses a short rest after warm-up sets.
- Smart rest times: heavy lifts get longer rests and small lifts shorter. You can set your own time for any exercise.
- Sound, vibration and optional voice tell you when rest is over.
Workout timer (top of the screen)
A timer starts when you open a workout. Tap it for the controls:
| Option | What it does |
|---|
| Pause / Resume | For a long break or a phone call. Paused time is not counted. |
| Stop | Freezes the time. Finish Workout then saves that frozen time, even if you finish later. Start again continues from where it stopped. |
| Fix the time | Type how long it really took, like 75 or 1:15. |
| Start over | Back to 0:00. |
The little pill shows its state: green dot is running, orange bars is paused, grey square is stopped. Past an hour it reads 1:12:06. It keeps the right time even if you close the app, and it is separate from the rest timer.
Forgot it? If you tap Finish Workout with the timer running and you haven't logged a set for 30 minutes or more, the app asks whether to save the time up to your last set instead.
Tabata timer
An interval timer for HIIT. Open it from the side menu (Tabata Timer) or from a Tabata exercise in a program (Launch Tabata Timer).
- A ring drains over each part: Get ready (amber), Work (your accent colour) and Rest (blue). Round bars show how many rounds are done, and it tells you what is next and how much time is left.
- Pause / Resume, start over (left button) and skip to the next part (right button). When all rounds are done, Go again runs it once more.
- The sliders button at the top changes the timing: work, rest, rounds and get-ready time, or a preset (Classic 20/10 ×8, 30/15, 40/20, 45/15, 30/30). Rest can be 0.
- Opened from the side menu, it remembers your last timing. A program's own Tabata exercise uses the program's numbers, and changes there apply to that run only.
- It beeps at 3, 2, 1 and at each change (following your Sound and Vibrate settings) and keeps the screen on, on phones that allow it. It times itself from the clock, so if your phone sleeps for a bit, it catches up to the right place when you return.
- The layout leaves room for the notch and home bar. That spacing is done the standard way but has not been tried on a real iPhone.
Plate calculator
Shows which plates to load on each side, including gym plates. Open it from ☰ → Gym tools → Plate Calculator.
1-rep-max (1RM) calculator
Home → 1RM Calculator. Type a hard set (for example 225 × 5) and it estimates your one-rep max (262.5). Below is a chart from 100% down to 50%: the weight at each percent and about how many reps that is.
- Round to the plates I have (on by default) rounds every weight to what your bar and plates can really load, using the plates from Settings.
- Tap any row to open the plate calculator at that weight.
- Or start from one of my records… fills in a lift you already have a record for.
- It uses the same Epley formula as your records, so the numbers match everywhere. It also shows Brzycki and Lombardi for comparison, and warns that estimates get less accurate above about 12 reps.
- It remembers your last numbers and follows your kg / lb setting.
Your own exercises
Missing a lift? Add it from the Create your own exercise button in the exercise picker (searching for something that doesn't exist offers it with that name), from the + Create your own exercise button in the Exercise Library, or from My Exercises on Home.
- Pick the main muscle (14 choices). It counts toward your weekly muscle volume and lights up on the muscle map like any built-in exercise. For shoulders, back, abs and forearms it also asks Which part? (front, side or rear delts; lats or mid-back; abs, obliques or core stability; forearms, reverse-curl forearms or grip), because that decides which exercises are called similar. A name like "Lateral Raise" starts on the right part for you.
- Choose similar exercises (optional): tap + Choose similar exercises and tick up to 6 lifts that train the same muscle. The list starts with the closest ones for your muscle, and the search box finds any exercise. Your picks come first in this exercise's Similar exercises list (marked "Your pick"), and your exercise is added to theirs too. Whatever you don't pick, the list fills up with other exercises for the same muscle. You can change the picks later with Edit.
- Pick how you log it: weight × reps, dumbbells, bodyweight ± weight, cardio with distance, or timed.
- Your exercise works everywhere: workouts, programs, charts, records, history and swaps.
- You can't give it a name the list already has, including an exercise's other names (a custom "Barbell Bench Press" is refused because that is Bench Press).
- Home → My Exercises lists them. The name is locked after you create it so your history keeps matching. Deleting asks first.
- They are saved in your settings, so backups include them.
- One-time reset (2.16.0): the first time 2.16.0 opens on a phone, the exercises added with Create your own exercise are cleared, because the list now has many more built-in ones. You see a short notice when it happens. Your logged workouts, records and programs keep their exercise names. A hidden copy of what was cleared stays in the settings (and in backups). It happens once; anything you add afterwards stays.
Progress and records
The Progress screen has six tabs, and every card lives under the tab where you would look for it:
| Tab | What is in it |
|---|
| Overview | Streak, this week and workouts; weekly goal and streak; deload check; plateau check; your latest records; lifetime totals |
| Muscles | Weekly sets per muscle and the recovery map; balance check; physique map |
| Strength | Big 3 strength level and the 1,000 lb club; closest to leveling up; strength levels for every exercise; weak points; lift ranks; lift goals; PR attempt planner |
| History | Monthly recap; weekly and monthly report cards; year in review; training year calendar; PR timeline |
| Rewards | Level and XP; season; weekly quests; challenge; daily check-in; badges; rewards shop |
| Social | Family board; buddies; wall of fame; family challenge |
Rows that open and close have an icon and a one-line description, so you can see what is inside before you tap.
Levels, goals and things to chase
- Level and XP: every workout, set, personal record, goal week, badge and finished quest earns XP. Your level, title (Rookie, Regular, Grinder, Iron Hand, Veteran, Beast, Legend, Immortal) and a profile frame you unlock as you level up show on Home and in Progress. Tap the Home card to open it. Share my level sends a picture.
- Weekly goal ring: pick 1 to 7 training days a week. The ring on Home fills as you train and turns gold when you hit it. Progress shows your last 12 weeks.
- Goal streak with freezes: hit your goal week after week to grow the 🔥 streak. You earn a ❄️ freeze each month (keep up to 2) and one is used automatically if you miss a week.
- Weekly quests: three each week, made from your own history (train your days, beat last week's volume, set a PR, hit a muscle group...). Each is worth 100 XP and they refresh on Monday.
- Lift ranks: bench, squat, deadlift and overhead press ranked from Untrained up to Elite, using your estimated 1RM against your body weight (from your body log, or enter it). Since 2.53.0 they use the same StrengthLevel numbers as the Strength level card, so a lift can no longer be "Advanced" in one place and "Intermediate" in another, and the Male / Female switch sets both. Shows how much more to the next rank.
- Year in review: your totals, favorite lift, biggest jump, busiest month and day, with a Share picture.
- Family board: see Family board below. It scores everyone against their own goal, so it is fair between people who lift very different weights.
- Celebrations and sharing: after a workout you can get a level-up, rank-up, goal-hit or streak screen with confetti, each with a Share button that makes a picture.
- Milestone and secret badges: 22 bodyweight and total milestones (like 1.5x bodyweight bench) and 9 secret badges that stay hidden until you find them.
Overview
- Streak, this week and total workouts at a glance.
- Deload check (new in 2.35.0): counts your hard weeks in a row and the last 8 weeks of hard sets as small bars. It says Good time for a lighter week when you have 6 or more weeks in a row, or 4 or more together with a sign of fatigue (lifts that stopped going up, weekly sets jumping 15% or more, or a main lift slipping 5% below your recent best), or 3 together with two signs. Each reason is listed. Start a deload week turns on a 7-day deload: the Last time hint on each exercise suggests about 10% less weight and one set fewer (the weights round to your plate increment, and Fill in only fills the shorter number of sets), and built workouts have a set fewer. Home shows an Easy week card with the days left and End easy week. A week that is already much lighter than your recent weeks breaks the streak, so the check does not nag after you have already backed off. It is the same switch as the older Home easy-week card, so starting or ending it in either place does the same thing.
- Plateau check: lifts that haven't beaten their best in the last few weeks (you choose how many: 2, 3, 4, 6 or 8; it starts at 4), each with a tip (below).
- Recent PRs: your 5 latest records, with Show all for the rest.
- Lifetime totals: total volume, total sets, and the month you started.
- What you've moved (new in 2.42.0): under the lifetime totals, your lifetime volume as things you haul for work: "About 1.2 fully loaded semis", then up to three smaller comparisons (mini excavators, pickup trucks, pallets of sod, yards of mulch, bags of concrete and topsoil). The weights are typical round numbers (a bag of topsoil is 40 lb, a yard of mulch about 700 lb, a pallet of sod about 2,000 lb, a pickup about 5,000 lb, a mini excavator about 8,000 lb, a legal semi load 80,000 lb), and kg is converted to pounds first. Share this makes a picture for the group chat.
History
- Monthly recap: a card summarising your month (workouts, volume, top muscles, PRs) that you can share as an image. A banner shows on Home in the first 10 days of each month.
- Weekly and monthly report cards, year in review and PR timeline.
- Training year calendar (bigger in 2.35.0): opens as a month calendar with large day squares: green for trained days (darker means more volume, ×2 when you trained twice), a ring on today, and arrows to go back and forward. Above it, tiles show your active days, longest run and best month. Switch to Year for the full 53 weeks with month and weekday labels; the squares are 20 px, so they are easy to tap, and the strip scrolls sideways and starts on the latest weeks. Tap any day to see what you did, and tap the note (or the day if you did one workout) to open that workout. If you trained twice that day a short list lets you pick one.
Rewards and Social
- Rewards: your level and XP, the season, weekly quests, challenges, the daily check-in, badges and the rewards shop.
- Social: the family board, buddies, the wall of fame and the family challenge. See Family board below.
Muscles
- Weekly sets per muscle: how many hard sets each muscle got (warm-ups left out). Switch between This week, Last week and 4-wk avg. A line under the buttons shows the exact dates each one covers. ½ Helpers counts assisting muscles as half a set.
- Targets: each muscle has a target range, the grey zone on its bar. The bar is green inside the range, orange below it and red above it, and the map colours match. Starting ranges come from common training-volume guidelines (for example chest 8–20 sets a week). Tap any muscle to set your own, or Default to reset it.
- Recovery map: tap Recovery at the top of the card. The map turns red (just trained), amber (recovering) or green (ready), and the list shows how long each muscle still needs. It is an estimate based on how many hard sets each muscle got and how long ago, giving bigger muscles and harder sessions more time (about 1 to 3.5 days). Heavy work days from the Home check-in count too (see Work check-in).
- Muscle map: a detailed front and back body with 40+ muscles. Tap one to see its sets, or how recovered it is.
- Balance check: compares your last 4 weeks: push vs pull, quads vs hamstrings + glutes, and upper vs lower body. If one side is far ahead it says so, with a simple fix (for example "add rows or pulldowns"). It needs about 12 sets of data first. A mismatch isn't automatically bad; it is worth knowing about.
Strength
- PR attempt planner (new in 2.36.0): pick a lift (your best estimated 1RM is shown), a target for one rep (it starts a little above your best, in steps of your plate increment, with a plain note on how realistic it is: under 3% above your best is very doable, up to 6% is a real stretch, more is ambitious) and a test day (1 to 4 weeks out, or any date). It builds:
- The week before: a last heavy day (3 sets of 3 at about 85%, 6 days out), a light day (3 sets of 2 or 3 at about 65%, 3 days out) and a rest day the day before, with a button for easy mobility. If the date is closer, the heavy day moves in or drops out.
- Attempt day: a warm-up ladder you can tick off (empty bar, then about 40, 55, 70, 80 and 90% of the target), then Attempt 1 · opener (about 93%), Attempt 2 (97%) and Attempt 3 · goal (the target). Every step is a weight your gym can actually load, with the plates per side and a rest time. For lifts that are not barbell lifts the steps round to your increment. A note says to take attempt 2 only if the opener moved fast and attempt 3 only if attempt 2 was smooth.
- Rest timers on the ladder (new in 2.45.0): ticking a step starts the rest timer for the rest shown on it (a range uses its middle, so 3 to 5 minutes is 4:00). A countdown line stays pinned at the top of the plan while it runs, with Skip. The switch Start the rest timer when I tick a step (in the Hype track block) turns this off.
- Hype track (new in 2.45.0): the Hype track block under the ladder lets you choose a song from your phone (any audio file up to 60 MB, such as one from Samsung Music or your downloads). Tick Attempt 2 and the rest before Attempt 3 starts; the moment it reaches zero the song plays, from the Start at second you set (skip an intro straight to the drop) at the Volume you set. A Stop button stays on screen while it plays; ticking Attempt 3 fades it out. Skipping or dismissing the rest early cancels it, and so does starting any other rest timer. ▶ Test plays 10 seconds. Change and Remove are there too. If the phone refuses to start sound by itself, a Play the hype track button appears. The song is copied into the app on this phone only (not uploaded, not in backups; Reset everything removes it, and after a restore you choose it again). Your phone volume still decides how loud it is.
Plateau tips
A lift counts as stalled when you've done it 3 or more times in the last few weeks and none of those sessions beat the best you had before. You pick how many weeks with the 2 wk / 3 wk / 4 wk / 6 wk / 8 wk buttons on the Plateau check card (Progress → Overview); 4 weeks to start, and your choice is remembered. Each stuck lift shows how many weeks it has been since your best, for example 6 weeks. A lift you've stopped doing drops off by itself, and matching your best counts as no improvement. The app then works out why and suggests something that fits:
| What happened | Tip |
|---|
| Same weight every session | Add a rep to every set before adding weight, or take a smaller jump (2.5 lb / 1 kg). |
| Reps climbing at the same weight | Keep going. Add weight when you hit the top of your rep range. |
| Added weight but lost reps | Stay at that weight until the reps come back. |
| Down 5% or more from your best | Check sleep and food, and consider a lighter week. |
| Anything else | Try a small weight drop, a different rep range, or a similar exercise for a few weeks. |
The tip shows on the Overview tab, on the exercise card in your workout, and on the exercise's chart screen.
Records and history
- Personal records: new records for weight, estimated 1-rep max and volume are listed in Progress (and under PRs this month on Home if you switch that card on in Settings → Home screen), and your best lifts are in the 1RM Trophy Room (also a Home card you can switch on): one quiet line per lift with a thin bar toward your goal. Tap a lift to see its details and to set a goal.
- Per-exercise charts: weight, estimated max and rep records over time.
- Streaks and weekly goal: set how many days a week you want to train and keep your streak alive. Settings → Streaks & Time Off lets you mark sick days and trips: those days don't break your streak (each one lowers that week's goal by one, and a week fully off is skipped). Cardio counts toward the goal only if you switch on Count cardio toward my weekly goal (off by default).
- Home (shorter in 2.22.0): it fits on one screen and shows only the daily things, top to bottom: today's workout (Start Workout, with a small Skip this workout link), Start training (Build a Workout, Empty Workout, Cardio & Sports), This week (seven days with a dot for lifting, a cardio dot once you have logged cardio, sick or trip days marked, and a line underneath with your streak, active days this month and a Calendar › button), and Work today (see Work check-in). Everything else that used to be on Home is one tap away in the ☰ menu (Programs, History, Progress, Exercise Library, My Exercises, Body & Photos, Cardio & Sports, Search, Plate Calculator, Tabata Timer, 1RM Calculator) and each of these Home cards can be switched back on in Settings → Home screen: Last workout, PRs this month, the Search bar, the Train / Track / Tools shortcut tiles, the 1RM Trophy Room and Consistency.
- Up next on Home includes a line about today's muscles, like "Chest, Shoulders still recovering (ready in about 3 days)" or "✓ Muscles are rested for this day".
- Calendar and History: see every past workout. Open one to edit it, Do Again, Share it, or Save as Routine. Tap the Time box on a past workout to fix its length.
Family board (rebuilt in 2.53.0)
Progress → Social. There is no server, so the board runs on codes that travel in any chat. The old board only changed when somebody sent a fresh code, and people who had not sent one that week fell off it. Now:
- One update code carries everything. Your last four weeks, streak, progress and strength rating are in a single update. Send my update shares it in one tap, and Paste update reads the one in your clipboard. You can also paste a whole message into the box and tap Add.
- Every workout you send also updates the board. Sending a finished workout, a card or a challenge to buddies adds your update to the same message, so the messages you already send keep the board current without extra steps.
- Nobody disappears. People who have not sent anything this week stay on the board, with how long ago they last updated ("updated 4 days ago"). A stale row has an Ask for update button that sends your own update along with a request for theirs.
- Fair between different people. Volume and weights are gone, because they depend on how big and strong someone is. The contests are:
- Score: 100 points for hitting your own weekly goal, plus 10 for each new record (up to 5). Goals count between 3 and 6 days, so setting a goal of 1 cannot be farmed.
- Consistency: days trained against your own goal.
- Streak: weeks in a row you hit your goal.
- Records: new personal records.
- Progress: how much your main lifts went up over 4 weeks, in percent. A beginner adding 10 lb and an advanced lifter adding 20 lb are compared by percent, not pounds.
- Strength: your StrengthLevel rating out of 100 for your body weight and sex (the average level of your 5 best exercises).
- Weekly crowns and a season. The top score of each week earns a 👑, and a table shows crowns and points over the last 8 weeks that had two or more people. This week / Last week switches the view.
- Family challenge: pick a contest for the week (highest score, best consistency or most records), tap Start a challenge and Share challenge + my update. Challenges started before 2.53.0 (most workouts, volume, sets) still finish and show.
- Everyone needs 2.53.0 to read the new update. Old codes (weekly codes, buddy workouts, reactions, wall cards) still work in both directions, but the new update code only shows on phones that have updated. Open the app online once, then close and reopen it.
- Codes only hold names, week totals and ratings. Nothing is stored online.
Seasons, buddies and report card
Below the usual charts, Progress also has your level, quests and season, the rewards shop, a muscle map, Buddies (send and receive finished workouts, cheer with 🔥 💪 👏), the Wall of fame, and a Monthly report card graded A+ to F. To add a friend, paste the message or code they sent into the box under Buddies or the Family board (or tap Paste update). Codes work in any chat app and nothing is stored online.
Body tracking
- Weight trend: each weigh-in is a dot, with a smooth 7-day average line so water and food swings don't fool you.
- Trend, Pace and Goal: under the chart you see your trend weight, your pace (lb or kg per week, from the last 4 weeks) and your goal. Tap Goal to set one. It is drawn as a dashed line, with how far you have left and about how many weeks that takes at your current pace. Pace needs weigh-ins spanning about a week.
- Measurements: chest, waist, arms, legs and more, with charts. Bodyweight and body fat come first in the log; the rest is under More: measurements & nutrition.
- Progress photos: stored privately on your phone, never uploaded. There is no limit on how many you keep.
- Studio mode (new in 2.46.0): in Guided camera a 🎬 Studio button turns on the tools for photos you can compare month to month. A full rule-of-thirds grid with the four power points, an optional centre line and head and feet marks, and a level that says how far the phone is tipped forward, back or sideways (on phones that report their tilt). A light meter reads the live picture: how bright it is, whether any part is blown out, which side the light comes from, and how it compares with your last photo (Match 94%, with a plain hint such as "Brighter than last time. Turn a light off or step back from the window"). 🔒 Lock look asks the camera to hold exposure, white balance and focus where they are, and remembers them; ↺ Saved look puts them back next month. Locking needs a phone whose browser lets a web page control the camera (mostly Android Chrome); when it cannot, the camera says so and the meter and checklist still work. ✓ Checklist is the room, the spot, the phone and you, ticked off for the day (same lights, curtains, mark on the floor, camera height and distance, time of day), with a place to write down your height, distance and light position; Body → Progress photos → 🎬 Studio setup opens it without the camera. ☰ Guides switches each overlay on or off. Photos taken in Studio mode keep their light readings so the next session has something exact to match; photos taken without it are untouched. Everything is on the phone and the choices are in your backup.
- Physique blueprint (new in 2.44.0): Body → Physique blueprint turns your height, wrist and ankle into a natural ceiling for chest, arm, forearm, neck, thigh and calf, plus a ceiling for lean bodyweight, with Casey Butt's formulas (from his article and his book ; they work in inches and pounds for lean condition, about 8 to 10% body fat, and cm and kg are converted). Your own numbers sit next to each ceiling with a bar and a percentage: (More: measurements), and because the Body log does not track them. The part with the lowest percentage is named as furthest behind, with a button that opens Steal a day on that muscle. Tape guide: wrist on the hand side of the bony bump, ankle at its narrowest point above the foot, arm flexed at its biggest. It is a rough guide from one author's formulas, built from drug-free competitors: bones, muscle shape and genetics vary a lot, and few people reach every number. What you type is saved in your settings (so it is in backups).
Cardio and sports
A separate place to log runs, rides, swims, classes and every sport. Open it from the Cardio & Sports button on Home (in the Start training row) or from the menu (☰) → Cardio & Sports.
It is kept apart from your lifting on purpose. Cardio and sports sessions do not count toward your sets, volume, records, muscle map, recovery, "Consistency" or the weekly workout goal. They have their own history, stats and weekly goal. Cardio you log inside a lifting workout (for example a treadmill finisher on a program day) still works as before and stays part of that workout.
- Log a session: tap + Log one, pick the activity, then enter the time (hours, minutes, seconds), the distance if it has one, how hard it was (Easy, Moderate or Hard), and optionally a heart rate, calories and a note. Sports also have a Result (Win, Loss or Draw). You can log past days too.
- Live timer: tap ▶ Start timer, pick the activity and go. Pause, resume or finish whenever. Finish opens the save form with the time already filled in. The timer is based on the clock, so it keeps counting if your phone locks or you close the app. If you cancel the save form, the timer stays paused instead of being lost.
- 71 activities: outdoor cardio (Running, Trail Running, Walking, Hiking, Cycling, Mountain Biking, Swimming, Stair Running); Gym machines (Treadmill, Incline Treadmill Walk, StairMaster / Stair Climber, Elliptical, Arc Trainer, Stationary Bike, Recumbent Bike, Air Bike, Rowing Machine, SkiErg, VersaClimber, Jacob's Ladder, Mini Stepper, Arm Bike); Classes & workouts (HIIT, Jump Rope, Spin Class, Circuit Training, Boot Camp, Battle Ropes, Sled Push / Pull, Kickboxing, Zumba, Water Aerobics, Dance, Barre, Yoga, Pilates and more); and sports from Basketball, Soccer and Football to Tennis, Pickleball, Badminton, Boxing, Martial Arts, Rock Climbing, Skiing, Surfing, Golf and more. The picker also knows other names, so searching "stairmaster", "stepmill", "assault bike" or "cross trainer" finds the right one. Missing one? Use + Add your own activity in the picker, and choose whether it is cardio or a sport, how hard it usually is, and whether to track distance.
- Pace and speed: runs, walks and hikes show pace (min per mile or km), rides and kayaking show speed, swims show time per 100 yd or m, and the rowing machine shows time per 500 m.
- This week: sessions, total time, distance and calories, a progress bar toward your weekly goal (150 minutes to start, and you can change it), the week's active days, and last week for comparison. A chart shows the last 8 weeks of minutes.
- History: grouped by day, with filters for All, Cardio and Sports. Tap a session to edit or delete it (delete has Undo).
- Totals & records: for each activity, how many sessions and how much time and distance, plus your longest session, farthest distance, best pace or fastest speed (only counted over a meaningful distance), and your win-loss record in sports.
- Calories are an estimate. They come from the activity, how hard it was, your weight and the time. Your weight is taken from your latest Body & Photos entry, or you can type it in Cardio settings. If you have a watch or machine reading, type that number instead.
Coach mode (new in 2.47.0)
For running a practice from one phone: a team, a class, a group of friends. Open it from Cardio & Sports → 🧑🏫 Coach mode (the green card under the Start timer buttons). Everything stays on the phone and is in your backup. It is separate from your own lifting, like the rest of Cardio & Sports.
- Teams and roster. Add a team (up to 20), then its athletes one at a time or with Paste list: one name per line, with a jersey number at the front or the back (
12 Mia Chen, Jo Park #7). Tap an athlete to change their name, number or note (position, injury, parent contact) or take them off the team. Switch teams with the chips at the top.
- Today. The practice for the team and the day. Who is here (everyone by default, tap to mark people away), then four tools: Time a drill, Group timer, Count gear and Share summary. The results of the day are listed under them, each drill ranked best first with a 🏆 for a new personal best, and a practice note at the bottom.
- Time a drill (stopwatch for the whole group). Pick a drill and who is doing it. Start all starts everyone on the same instant (with an optional 3 or 5 second countdown, beeps and a spoken "Ready, go": tap the ⏱ button at the top to choose). Start next starts one athlete at a time in roster order, or tap any name to start just that athlete. Tap a running name to stop it. Each tap is stamped at the moment your finger goes down, not when it comes up, so a slow press does not add time. Times are to a hundredth of a second and ranked as they come in (🥇🥈🥉). ↶ Undo puts the last athlete back on the clock if you stopped the wrong one, and ↺ on a finished name resets just that athlete. A tap within a quarter of a second of a start is ignored, so a double tap does not stop someone at 0.1 s. Save keeps the finished times (anyone still running is dropped, after asking), shows the board with who set a personal best, and Another round starts again. The screen stays awake, and if the app is closed or the phone locks in the middle, opening Coach mode again offers to pick the drill back up with the times still running (kept for three hours).
- 22 drills to start with, and your own. Stopwatch drills where the fastest wins (40, 20, 60 yard dash, 100 m, 400 m, mile, 5-10-5 shuttle, 3-cone, line sprints, agility ladder, dribble course, 50 m swim); holds where the longest wins (plank, wall sit, dead hang); measured drills you type in, furthest wins (vertical and broad jump, shown in cm or inches to match your lb / kg setting); and counts, most wins (free throws made, push-ups, sit-ups, pull-ups, jump rope). + Your own makes any of the four kinds. Tap a drill for the team board and the team average by day.
- Group timer. One interval clock for the whole group. Set work seconds, seconds and , or start from a preset (, , , ). Add (one per line) and the athletes who are here are dealt into one group per station (A, B, C…, if you want a different mix) and rotate round them: during work the screen shows which group is at which station, during the rotate it shows where each group goes next. A giant clock, a coloured screen for work and rest, a beep for each of the last three seconds, a different beep to start work and to rotate, a voice call-out ("Work", "Last round. Work", "Rotate. Move to the next station", "Done"), , and , and a mute button. The screen stays awake. Finished or ended practices are recorded under Today (only the rounds actually done).
Search and name clean-up
Search (new in 2.8.0)
Tap ☰ → Search (or the Search bar on Home, if you switch that card on). Type one or more words (every word has to match) and results come in groups:
- Exercises, including their other names ("DB press" finds Dumbbell Press), with how many workouts you have for each.
- Programs, by title, day names or an exercise inside.
- Workouts, by day name, program, an exercise, or a date: "march 2026", "monday".
- Notes: exercise notes, workout notes, the notes you wrote on a finished workout, and cardio notes.
- Cardio & Sports sessions.
Matches are highlighted. Each group shows 5 results with Show all. Tap a result to open it. From an exercise, Back returns to your search. The Search bar is one of the Home cards, so you can hide or move it.
Clean up exercise names (new in 2.8.0)
Some of the built-in programs spell exercises differently from the standard list ("Barbell Bench Press" instead of Bench Press, "Dumbbell Lateral Raises" instead of Lateral Raises). The app already understands those names, but the same lift could still show up in two places. Settings → Data & Backup → Clean Up Exercise Names fixes that:
- It lists every name that differs, with the standard name below it and how many programs and saved workouts use it. All are ticked. Tap one to leave it out.
- Rename changes them in your programs, your saved workouts, your PRs, your notes, last-time weights, favorites and per-exercise rest times. Where two spellings were separate, the history is merged: nothing is lost, and the best record wins.
- Built-in programs keep the new names when you use Clear Progress on a day.
- Dumbbell lifts keep counting the same number of dumbbells they did before, so volume stays right ("Dumbbell Lunges" counts both hands and so does the renamed "Lunges").
- It makes a safety copy first. Undo is offered right after, and again in the same screen, until you save your next workout (after that it can't go back without losing that workout). Undoing also drops anything else you changed in between, so it asks first. Export a backup first is one tap away.
- It is safe to run again whenever you add a program that spells things differently. The button shows how many names can be tidied.
Backup and sharing
💡 Back up now and then. Everything lives on your phone. If you clear browser data or get a new phone, a backup file is how you keep it all.
- Backup and Restore: save all your data to a file (workouts, programs, body entries, your cardio and sports log and your Coach mode teams, results and gear), and load it back on this phone or a new one. Form clips, progress photos and the hype track song are big files that stay on the phone and are not in the backup.
- Automatic safety copies (2.24.0): the first time you open the app each day (after you have a workout saved), PulseTrack keeps a copy of everything on the phone. The newest 8 are kept. Settings → Data & Backup → Automatic safety copies lists them (date, number of workouts, version) with Restore next to each, and Make one now. Going back first saves a copy of how things are right now, so you can undo it. They live on the phone, so they protect against a mistake or a bad update, but clearing the browser's data removes them: a backup file is still the real safety net. The backup reminder on Home now appears after 7 days.
- Repeat last workout (2.25.0): Repeat last workout in the menu, and Do this workout again on the finish screen, fill today's day with the weights and reps from your most recent saved workout.
- Undo delete (2.24.0): deleting a workout from History or a body entry shows Undo for 10 seconds.
- No storage cap: when the normal space fills up, PulseTrack keeps saving in your phone's large storage, for as long as your phone has room. Settings shows No size limit.
- CSV export: download your workout history for Excel or Google Sheets.
- Share a program as a link, or import one.
- Share a workout day as a link or file (see Make your own), and Programs → Paste a Share Link opens a pasted link for a day or a whole program.
- Share a workout: after you finish, or from History → a workout → Share, you get a picture card (date, time, volume, sets, PRs, the muscles you worked and your best set for each lift, with a gold PR badge and how your estimated max changed). It uses your theme colours and font. Share image sends it to Messages, Instagram and so on, Copy as text pastes it into any chat, and Save image to this phone keeps it.
Settings and looks
Settings is a short list of ten groups: Workout; Workout Screen; Gyms & Equipment; Streaks & Time Off; Sound, Voice & Feel; Appearance; Mods & Custom CSS (2.45.0); Data & Backup; App; and Danger Zone. Tap one to open it. Each shows a short summary of your choices, and the app remembers which were open until you close it.
- Units: kg or lb. Switching asks whether to Convert my saved numbers, Only change the labels, or Cancel.
- Text size: Normal, Large or Extra large (2.24.0).
- Say a set: Ask first, Log right away or Off (2.37.0).
- Each side or total: set per exercise by tapping the label above the weight box (2.38.0); there is no global switch.
- Auto-start Rest Timer: on or off. The rest timer also has your own times, sounds and voice.
- Strength level: men's or women's standards.
- Weekly goal: days per week.
- Week starts on: Auto, Sunday or Monday. This decides what "This week" and "Last week" mean in Progress, plus the weekly goal and streak. Auto follows your phone's region (Sunday in the US and Canada, Monday in most of Europe). Before 2.6.4 the week always started on Monday, so on a Sunday your Monday–Saturday workouts still showed as "this week".
- Home screen: pick which cards show on Home and in what order.
Appearance
| Setting | Choices |
|---|
| Theme | 13 one-tap looks: nine dark (Classic, Midnight, Crimson, Neon, Sunset, Royal, Ocean, Forest, Iron) and four light (Paper, Daylight, Sandy, Bloom). A theme sets mode, colour, background, effect and font together; change any one afterwards and the rest stays. |
| Mode | Dark, Light, or Auto (follows your phone and switches live). |
| Accent colour | 18 ready-made colours, or the rainbow circle for your own: type a hex code like #FF3366 or drag the three sliders. Colours are adjusted per mode so text stays readable. |
| Background | Dark: Classic, True black, Midnight, Slate, Forest, Plum, Ember, Wine. Light: Paper, Snow, Cloud, Sand, Mint, Blush, Lavender, Stone. Or a custom hex for either (adjusted to suit the mode). Dark and light remember their own. |
| Background effect | Solid, Glow, Fade, Aurora, or Gradient (two colours of your own). |
| Font | System, Poppins, Outfit, Work Sans, Big Shoulders, Tektur, Lora, JetBrains Mono. They are built in, so they work offline. |
| Corners | Sharp, Normal or Round. |
| Row size | Compact, Normal or Roomy for set rows and check buttons. Roomy is easier with sweaty hands. |
In Light mode the muscle map keeps its dark body figure so the muscles stay easy to see.
Reset look puts colours, background, effect, font and corners back to the original. It does not touch your Home layout, your own exercises or your data.
Home layout (Settings → Appearance → Home screen): use ▲ ▼ to move a card and Shown / Hidden to show or hide it. The cards are the monthly recap banner, today's workout, Start training, This week and Work check-in (all shown by default), then Last workout, PRs this month, the Search bar, Train / Track / Tools, the 1RM Trophy Room and Consistency (all hidden by default since 2.22.0). Put the cards back the way they were resets it to the short Home. When a phone updates to 2.22.0 it gets the short Home once, with a short note saying where things went; any change you make after that is kept.
Mods and custom CSS (new in 2.45.0)
Settings → Mods & Custom CSS → Open mod manager. A mod is a named piece of your own CSS that restyles the app: corners, fonts, colours, backgrounds, animations, anything CSS can change. Mods are listed like a mod list: each has an on/off switch, ↑ ↓ set the load order (a mod lower in the list wins when two change the same thing), and tapping one opens the editor.
- Editor: a name and a big CSS box. The change shows live while you type and is dropped if you close without saving. The line under the box counts lines and rules and tells you about a missing
{ or } or a rule the browser did not understand. Paste, Copy and Share file (a .css file with the mod's name) are there too, and Delete for a mod you already saved. Handy hooks lists the colour variables (--a500 accent, --z50 to --z950 greys), html[data-mode="light"], the screen ids (#view-home and so on) and how to match cards.
- Import a .css file from the manager adds it as a mod (the name comes from a first-line comment
/* PulseTrack mod: Name */ that Share file writes).
- Starter mods: Square corners, Soft and round, Accent outlines, Accent glow, Aurora background (a slowly moving gradient), Condensed font (Oswald) and No animation. Adding one gives you a normal mod you can edit.
- Keep this look? A mod that is added, saved with changes, imported or switched on has 15 seconds to be confirmed with Keep. If you tap Undo, or do nothing, or close the app first, that mod switches itself off (its CSS is kept so you can fix it). That means a stylesheet that hides everything cannot lock you out.
- Use my mods (the switch in Settings) turns every mod off at once without deleting them. Opening the app with
#nomods on the end of the address starts it with mods off.
- Web fonts: an
@import of a Google font works when you are online. The app keeps the font files the first time they load, so the font keeps working offline afterwards. Everything else stays on the phone.
- Mods are saved in your settings, so they are in backups and move to a new phone with them.
The side menu (new layout in 2.21.0, two more entries in 2.22.0)
Tap the ☰ button. Top to bottom: your current program (tap it to carry on with the workout, or to pick a day or a program), three quick actions (Empty workout, Build a workout, Search), the Menu (Home, Programs, History, Progress, Exercise Library, My Exercises, Body & Photos, Cardio & Sports, Settings, with the page you are on marked), Gym tools (Plate Calculator, Tabata Timer, 1RM Calculator, and 30/60/90/120-second rest countdowns), and the Workout calendar, folded away until you tap it (the Calendar › button on Home opens it for you).
App pop-ups (confirmations, text boxes, lists) match your theme in light or dark, and their buttons say what they do, like Remove.
Good to know
Works offline. After the first load, everything (programs, exercises, charts, styling, fonts) is stored in the app. Only the YouTube "How to do it" links and getting updates need internet.
iPhone
- Updates can lag. Close the app fully and reopen it online.
- If you don't use the app for a long time, iPhone may clear its stored files. Keep a backup.
- It has not been tested on a real iPhone.
The phone closes the app (new in 2.50.1). Phones close apps they have not used for a while, or when the screen is off and memory is short. Your sets and the workout timer were always saved, but the app used to start again on Home. Now it remembers the screen you were on and how far down you had scrolled, and opens straight back on it. In a workout it keeps your place for 12 hours (the same as the workout timer); on any other page, 3 hours, and after that it opens on Home as usual. If you had just finished a workout it opens on Home, and it only returns to a workout if it is still the same program and day. Turn it off in Settings → Reopen where I left off.
About the numbers. Recovery times and target ranges are estimates and typical guidelines, not medical or coaching advice. Form tips are general guidance: if something hurts, stop and ask a coach or doctor.
What a web app can't do. Apple Health or Strava sync, a watch app, home-screen widgets, a lock-screen timer, or reminder notifications. Those need a native app or a server.
About Kris Gethin 12 Weeks to Muscle. The sets, reps and rest were copied from the plan day by day, with a few gaps filled in: where no rest time was given, 90 seconds is used (60 seconds for 15+ reps); "Seated Calf Raise" on day 19 has no set count, so it uses 3; day 58 is missing the name of one exercise, so it shows as Exercise of Your Choice; and a few exercises where the sets and the listed rep targets disagree. Each of these is noted on the exercise, including which number was used. Exercise names were matched to the PulseTrack list, and 26 new exercises were added for moves that did not exist yet.
About the 12-week programs. The source plans had a few gaps, handled like this:
- Ferrigno: the heading says weeks 5–8, but the schedule says weeks 7–12.
- Arnold: no phase lengths were given, so each phase is 3 weeks.
- Mountain Dog: one week repeats for 12 weeks.
- Phil Heath Phase 3: cardio has no time listed.
- Ronnie Coleman: crunches have no sets or reps listed.
Managing the project
Files
Upload these to your GitHub repo, all in the same folder:
| File | What it does |
|---|
index.html | The whole app (about 1.8 MB, including fonts and themes) |
programs.js | The 55 built-in programs |
exercises.js | The 625 exercises, each with its own form tips and the muscle it trains |
sw.js | Makes it work offline and update |
manifest.json | Lets it install to your home screen |
README.md | This file |
Update steps: upload the changed files on GitHub → open the app online → close and reopen.
How program changes reach phones
- A program that is new in
programs.js shows up on phones automatically.
- A program that already existed and was edited is not replaced on phones, so your progress is safe. To get the changed version, delete the program in the app and use Add Back a Built-in Program.
- Two exceptions. Week info: if a built-in program is still the same as when you got it but did not yet have week numbers (FST-7 Big and Ripped, Jim Stoppani Shortcut to Shred) or a week plan (Kai Greene, FST-7 Level 1), the app fills that in by itself the next time it opens. Only the missing week numbers are added; exercises, edits and history are never touched, and a program you rebuilt yourself is left alone. A "Week 3" you had typed in before becomes week 3 of the program, once. Longer programs (2.48.0): a built-in program that used to be one week on repeat gets its extra weeks added to your copy, as new days after the ones you have, when your copy still has its original days numbered 1 to n. Your own edits to those days stay, and nothing is replaced. If you removed or reordered days in it, it is left as it was. Rest days that an old program had stored as an exercise (USN 5 Day Mass Plan) become real rest days. Wording: if a built-in program still carries an old source note, the app swaps in the cleaned text by itself. It only touches text containing an old note, so anything you wrote or edited is never changed, and no exercise, set, rep or logged workout changes.
Adding programs and exercises
- Easiest: build a program inside the app, or import a
.json file with the Import button.
- Permanent for everyone: add it to
programs.js, one object per program with id, title, description, tags and days. Each day has dayNumber, title, estimatedMinutes and exercises (each with id, name, sets, reps, restSeconds, type, notes). For two-a-day programs, title the sessions like "Mon AM: Chest" and "Mon PM: Arms" (or "Chest (AM) + Arms (PM)") and the app adds the sun and moon look, the AM+PM tag and the Two-a-day shelf by itself; add "Two-A-Days" to tags too. For the Programs screen to show the athlete, goal and level, add pro (a name, or "" for none), goal ("mass", "cutting", "strength" or "balanced"), level ("beginner", "intermediate" or "advanced") and perWeek (workouts a week, or null). For a program that lists every week, add week: 1…12 to every day. For a program whose few days repeat over several weeks, add weekPlan: [{ weeks: [1, 2, 3], days: [1, 2, 3, 4, 5, 6] }, { weeks: [4, 5, 6], days: [7, 8, 9, 10, 11, 12] }] to the program itself. Both give it the pinned Switch week bar. An empty exercises list is a rest day.
- New exercises: use My Exercises in the app, or add them to
exercises.js for everyone. One line each: { name: "Zercher Deadlift", category: "Back", muscle: "Lower Back" }. muscle is what Similar exercises matches on (the list of muscles is at the top of exercises.js). Without it the app works the muscle out from the name, and only falls back to the category when it can't. If the exercise is also known by other names, list them in aka: { name: "Rope Pushdown", category: "Triceps", aka: ["Triceps Rope Pushdown"] }. Those names are searchable and count as the same exercise (same muscle group, never suggested as a swap for itself). Only give it its own entry if it really is a different exercise (a straight-bar pushdown is not a rope pushdown). To give an exercise its own form tips, add (3 or 4 short steps) and (the usual mistake): .
Keep every id unique. New programs reach phones on the next update.
Version history
2.54.0
- On bodyweight exercises, a number is extra weight. Push-ups, sit-ups, planks, hanging leg raises, back extensions, bench dips, bodyweight squats and the other bodyweight exercises (about 95 in all) now work like pull-ups: 0 is just your body, 30 is your body plus 30 lb (180 + 30 = 210). Before, a 0 counted your whole body but a 30 counted as only 30 lb, so adding weight made a set count for less. The box says +lbs, the column says Added, a one-line note shows the sum as you type, and History shows BW+30 × 12. Volume, estimated 1RM, PRs and strength levels all use it, and old totals are worked out again once. Dumbbell, cable, machine and barbell exercises are unchanged.
- The Workout tab opens the Programs page. Before, it opened the day list of the program you had picked. A running workout still opens from another tab, and tapping the tab again on the workout goes to Programs.
- The 55 programs and 625 exercises are unchanged.
2.53.0
- Strength levels are accurate per exercise. Each exercise is graded against its own StrengthLevel.com standard for your body weight and sex, using that lift's real ratio at every level (not one factor for a whole group). Dozens of lifts changed, including dumbbell, machine, cable and Smith versions, curls, rows, pulldowns, lunges, hip thrusts and calf raises. Dumbbell Romanian deadlifts are no longer graded as a barbell, and wrist curls, lunge holds, bodyweight triceps extensions and rotator-cuff work are no longer given a level at all. Sets above 20 reps count as 20 so light, high-rep sets cannot inflate a level.
- Lift ranks and the Strength level card now agree. They use the same thresholds and the same Male / Female switch, and the best matching lift counts for each.
- The family board stays fresh. One update code carries a person's last four weeks, streak, progress and strength, it is attached to every workout, card and challenge you share, and Paste update reads it from the clipboard in one tap. People who have not sent anything stay on the board with "updated 3 days ago" and an Ask for update button.
- A fair contest. Volume and weight are gone. Scores are measured against your own weekly goal (100 points for hitting it, 10 per record), plus Consistency, Streak, Records, Progress (% gain on your main lifts over 4 weeks) and Strength rating. There are weekly 👑 crowns and an 8-week season table.
- Family members need 2.53.0 to see the new update; old codes still work. The 55 programs and 625 exercises are unchanged.
2.52.0
- Simpler screens. Home shows one reminder at a time (with a "+ 2 more reminders" line), finished exercises on the workout screen fold into one line, and the day list opens only this week. All three are on one switch in Settings, and everything folded opens with a tap.
- The 55 programs and 625 exercises are unchanged.
2.51.1
- The light look no longer hides text. Many numbers and labels were white (or pale yellow) on a white page, so they could not be seen. Fixed on the Progress screen (the Year in review numbers, the month names and day numbers in the training calendar, the Rewards frames and shop names, the deload banner, rank names, "Plateau check"), the workout screen (the "0 / N sets" count, "+XP", "Drop"), the leaderboard search, the mobility session, the one-rep-max attempt card, the stopwatch pause badge and the stretch list. The dark look is exactly as before.
- Easier to tap. The small buttons under an exercise name (Form tips, Clips, Bar path) and the Rest buttons now have a taller tap area (the look does not change), and so does the ✕ on the "See it" tip.
- The 55 programs and 625 exercises are unchanged.
2.51.0
- Guided mode runs supersets and giant sets as one screen. Each exercise in the group gets its own weight and reps boxes (with + and −), and one Log round button logs the whole round. Before, guided mode walked through each exercise of a superset separately, all its sets, then the next, which is not how a superset is done. Add or remove a round with + Round / − Round, swap one exercise from its own card, and Prev and Skip move a group at a time. The Log button stays above the rest timer. Lone exercises work as before.
- Guided mode in the light look now shows its title, weights, reps and buttons (they were white on white).
- The 55 programs and 625 exercises are unchanged.
2.50.1
- Reopen where you left off. When the phone closed the app, it used to start on Home, even though your sets and the workout timer were still there. Now it opens on the screen you were on (a workout, the list of days, History, Progress and so on) at the same scroll position. Workouts are remembered for 12 hours, other pages for 3. Switch it off in Settings.
2.50.0
- Build me a program: Pick my own muscles. A new split where you choose the muscles for every day and how many exercises each gets (1 to 8), add rest days where you like, copy a day so it repeats with the very same exercises, and pick the superset pairs (chest ↔ back, biceps ↔ triceps, quads ↔ hamstrings, abs in pairs). Choose Classics, Balanced or Mix it up for the exercises. A preview lets you swap, remove or shuffle before saving. 1 week or 4 weeks with progression. See "Build me a program, pick your own muscles" under Programs.
- Build me a workout no longer picks cleans, rollouts or crawls, because those were odd choices for a general session.
- The 55 programs and 625 exercises are unchanged.
2.49.1
- The custom 6-day split from 2.49.0 is removed again. Phones that received it lose it on the next start; workouts already logged with it stay in History. The new exercise Decline Russian Twists stays (625 exercises).
2.49.0
- A custom 6-day split. New built-in program Custom 6-Day: Chest & Back, Legs, Sharms: Sunday is the only rest day; chest and back alternate in back-then-chest supersets (4 chest, 5 back); legs with 7 leg exercises, 2 ab supersets and 2 calf exercises; shoulders (5) with biceps (3), triceps (3) and forearms (1). Each day appears twice a week with the same exercises. The exercises, sets, reps and rests are ours and can be edited. It is listed under More programs, not Pro plans.
- New exercise: Decline Russian Twists (625 exercises in all), with form tips.
2.48.0
- Fewer, better programs. Nine weekly programs of three days or fewer that were not full-body are retired: Mike Mentzer's Heavy Duty, Heavy Duty A / B / C and Ideal Routine, Frank Zane's 3-Workout Rotation, Steve Reeves' Classic Physique 3-Day, Larry Scott's 20-Inch Arms, Jay Cutler's Modern Back & Delts Days, Kris Gethin's Superset Thrasher & Quad Radical and Arnold's Superset Chest & Back (55 programs now). A phone that still has one loses it on the next start; logged workouts stay. Kept as full-body: Frank Zane Beginner Full Body, Reg Park 5x5 and Arnold's Golden Six. Steal a day no longer offers days from the retired programs.
- Longer programs. 37 programs that were one week on repeat now run for 4 to 12 weeks (see Programs that run for several weeks). Weeks as published are kept as published; the added weeks (Build, Push, Deload) are labelled as ours. Phone copies are upgraded in place without touching your edits or progress. Week plans can now name their phases, and the week bar and days list show them.
- Exercise names tidied. 147 names used by programs (Leg Extensions, Lat Pull Down, Pullups, Dips, Butterfly and so on) were not in the exercise library and were only matched by guessing from the name. Each is now a listed alias of the exercise it is, so Done before, similar exercises, records and history group them with the right exercise. Programs and logged history keep their names.
- Week layout fixed. USN 5 Day Mass Plan's two rest days were stored as exercises and counted as workouts; Arnold's Blueprint to Cuts phase 2 listed three of its six days; Shred with Buendia's two phases had no weeks.
- The Playlist presets use each program's own length.
2.47.0
- Coach mode. Cardio & Sports → Coach mode, for running a practice from one phone: teams and rosters (paste a list), a stopwatch that times many athletes at once (Start all with a countdown, Start next, or tap a name; taps stamped at finger-down; undo, reset, ranked live, personal bests flagged, survives the app closing), 22 ready-made drills plus your own (timed, held, measured or counted, in cm or inches), a Group timer with Tabata and circuit presets where named stations rotate groups round the room with beeps, voice and a screen that stays awake, gear counted out before and in after practice with what did not come home flagged, and a text summary and CSV export. All on the phone and in your backup.
2.46.0
- Bar path and bar speed. A 🎯 Bar path button on barbell lifts: tap the plate's edges, press record, and the path is drawn live while a small on-phone tracker follows the plate. Results show the path over the first frame coloured by speed, average and best speed (m/s), velocity loss, range of motion and per-rep up speed, peak, time up and drift, with a shareable picture. Works on clips you already filmed too (Form clips → Track bar path). Nothing is uploaded and no model is downloaded.
- Studio mode for progress photos. In the guided camera: full rule-of-thirds grid, centre line, head and feet marks, a level, a light meter that compares with your last photo, Lock look / Saved look for exposure, white balance and focus (where the phone allows it), and a room-lighting checklist you can also open from Body → Progress photos.
- Form clips: a 🎯 line under each tracked clip, the speed on its card and a "Record with bar tracking" button on every exercise page.
2.45.0
- Mods (your own CSS). Settings → Mods & Custom CSS: named CSS mods you switch on and off and put in a load order, with a live-preview editor, starter mods (square corners, soft and round, accent outlines, accent glow, aurora background, condensed font, no animation),
.css import and share, and web fonts that keep working offline. A new or changed mod has 15 seconds to be confirmed with Keep, or it switches itself off, so a bad stylesheet cannot lock you out. "Use my mods" and #nomods turn them all off. In backups.
- Pre-workout protocol. Tap it on Home before you leave: Taken starts a countdown for each step (eggs + bananas 60 min, creatine + caffeine 45 min by default, both editable), with a chime, buzz and spoken ping when each is ready, an optional lift time that tells you when to take each, and "Phone alerts" to save real alarms to your calendar.
- Hype track for PR attempts. Pick a song from your phone; tick Attempt 2 in the PR planner and the rest timer before Attempt 3 starts, and when it hits zero your song plays from the second you chose. Ladder steps now start their own rest timers (a switch turns that off), with a countdown pinned at the top of the plan. The song stays on the phone and is not in backups.
2.44.0
- A heavy work day reshuffles your week. Mark Heavy with a leg or back day up next and the Work card offers the lightest day left in the program to do today instead (for example Chest & Arms instead of Legs). The skipped-over day stays up next, nothing is marked done, and one tap puts it back.
- Physique blueprint. Body → Physique blueprint: Casey Butt's natural ceilings for chest, arm, forearm, neck, thigh, calf and lean bodyweight from your height, wrist and ankle, compared with your own measurements, with a button to find a day for the part that is furthest behind.
- Form clips. Film a set (or pick a video), keep it with the exercise on this phone, and watch it slowed down to 0.25×, a frame at a time, or side by side with an older clip. Not part of the backup file.
2.43.0
- Steal a day. Programs → Steal a day (also on a program's ⋯ menu, the workout screen's ⋯ More, and the Weak points card): pick a muscle or search an athlete and get the best days for it from every program, ranked by how many hard sets hit it. Do the day now as a Freestyle workout, add it to a program you made, or start a new program from it. Built-in programs are never edited.
- Program playlist. Programs → Playlist: line up programs and deload weeks with a number of weeks for each (8 weeks CBum push/pull/legs, 1 deload week, 8 weeks Arnold's double split). Each stage becomes your current program at Day 1 when its weeks start; Home shows the stage, the week and what is next; the Training year section on Progress shows the whole chain with dates; Skip, +1 week and Stop are in the playlist sheet.
- Find a day for your weak point. The Weak points card on Progress → Strength has a button that opens Steal a day set to your weakest muscle group.
2.42.0
- 40-second timers on the right sets. A timer button now appears only on the sets whose own target is a time: in "8-10, 8-10, 40 sec, 40 sec" just sets 3 and 4. Each set's reps box shows its own target. On weighted sets the timer no longer writes seconds into the reps box (they would have produced a fake 1-rep-max record); it saves the seconds and you type the reps. Planks and other bodyweight holds work as before. This fixes Chris Bumstead's timed sets, which had a timer on every set before.
- What you've moved: Progress → Overview shows your lifetime volume as semis, mini excavators, pickup trucks, pallets of sod, yards of mulch and bags of concrete or topsoil, with a Share button.
2.41.0
- Chris Bumstead's push / pull / legs split (64 programs in all): Push Day 1, Pull Day 1, Legs Day 1, Push Day 2, Pull Day 2, Legs Day 2 and a rest day, with his heavy sets, timed 40-second sets, supersets and drop sets as Fitness Volt reported them from his 2019 video. The description says what is from the source and what is our arrangement. Existing phones get it automatically on the next start; programs you already have are untouched.
2.40.0
- Two-a-day programs, and a Programs screen that opens with them. Four new programs with morning and evening sessions: Arnold's double split as its own program, Jay Cutler's two-a-day cycle (3 on, 1 off, 2 on, 1 off), Dave Draper's double-split days from his 1964-65 logs, and Lou Ferrigno's peak two-a-days (63 programs in all). Each description says what is from the source and what is our arrangement. Existing phones get them automatically on the next start; programs you already have are untouched.
- Two-a-day shelf on the Programs screen: a row of sunrise-to-night cards under your current program, each showing its morning and evening session. New Two-a-day filter chip, a small AM+PM tag on the rows, and search finds them ("two-a-day"). Franco Columbu's 14-day rotation and the 12-week Arnold plan (weeks 10-12) are on it too.
- The day list shows the two sessions: a sun or moon tag with the weekday, a gold bar for morning and an indigo bar for evening, the pair joined into one block, and a short note on how a two-a-day program runs. The progress line says "sessions done". Works for your own programs named like "Mon AM: Chest" / "Mon PM: Arms". Works in light and dark.
- A one-exercise session now says "1 Exercise" instead of "1 Exercises".
2.39.0
- 15 more programs from the greats (59 in all): Dorian Yates' 1987-92 build; three from Mike Mentzer (Heavy Duty A/B/C rotation, the "Ideal Routine", and his traditional 5-day split); Chris Bumstead's 2024 off-season 9-day split; two from Flex Wheeler; Lee Priest's full-body week with his arm day; Ronnie Coleman's back and leg specialization; Jay Cutler's modern back and delts days; Nick Walker's weekly split; Kris Gethin's Superset Thrasher and Quad Radical; Arnold's superset chest and back; Kai Greene's 5-day split; Vince Gironda's 10-8-6-15. Existing phones get them automatically on the next start. Programs you already have are untouched.
2.38.0
- Each side or total weight, per exercise. Cable, machine and dumbbell exercises get a tappable label above the weight box (Each side · Reps / Total · Reps / Each hand · Reps) and a sheet to choose, with a 25-or-50 example. Volume counts both sides for Each side and once for Total, so 25 each side equals 50 total. Cable crossovers and flies ask (Each stack or total?) until you pick. Remembered per exercise, included in backups, kept when exercise names are cleaned up, and shown next to the weight in Guided mode. Only workouts saved from now on use it; past sessions are not changed.
2.37.0
- 22 new pro bodybuilder programs (44 in all): Mike Mentzer's Heavy Duty; three from Frank Zane; Chris Bumstead's off-season 8-day split; Layne Norton's PHAT; Steve Reeves; Lee Haney; Kevin Levrone; Sergio Oliva; Reg Park 5x5; Dave Draper's 1960s journals; Dexter Jackson; Larry Scott (6-day split and 20-inch arms); Vince Gironda's 8x8; Arnold's Golden Six; a Jay Cutler 4-day split; Franco Columbu's 14-day rotation; Big Ramy's 5-day split; and two collections of signature leg days and upper-body days. Each is written from a published source (credited in the table above and in the program's description). They arrive on phones by themselves; a program you deleted stays deleted.
- The Programs screen is easier on the eyes: a Current program card, the tools in one compact grid, search (names, athletes, workouts and exercises), filter chips with counts, and one slim row per program with a ⋯ menu for Share, Make current and Delete. Programs are grouped as Your programs, Pro programs and More programs.
- Say a set rebuilt. It now understands spoken numbers ("one eighty five for eight"), plates, "225 x 5", bodyweight moves and "for" heard as "4". It shows what it heard and lets you fix the exercise, weight and reps before logging, says plainly why it can't listen when it can't (no internet, mic blocked, iPhone Home Screen app) and lets you type the set instead. Settings has Ask first, Log right away (with Undo) and Off.
- Programs now carry
pro, goal, level and perWeek labels (also on the 22 older ones).
2.36.0
- Guided mode can add and remove sets. + Set and − Set under the set chips. Sets you add show as dashed S4+ chips, and ✕ Skip set on an extra set just deletes it (skipping an exercise also drops its unlogged extra sets). The all-done screen offers one more set. Removing a set from the middle moves later logged sets up.
- Guided mobility: six hands-free timed routines (back relief, hips and legs, shoulders and upper back, hands and grip, after-work reset, pre-lift warm-up) with a countdown ring, Get ready, left and right sides, beeps, pause, skip, back and +10 s. A suggestion from your heavy work days, flagged injuries or recent training. A finished routine gives the recovery map about 15% credit for the areas it covers, and Home offers back relief on a heavy work day.
- PR attempt planner (Progress → Strength): target and test day, a taper week, and an attempt-day warm-up ladder with plates per side. Home reminder in the last week.
- Machine setup notes: a per-exercise, per-gym note ("seat 4, pin 7") on the exercise card and in guided mode. Settings has a switch to show the button on every exercise.
- Deload check fix: a week still in progress was compared against full weeks, so two sessions early in the week could look "light" and reset your streak of hard weeks. The current week is no longer judged until it is over.
- Clean-up: seven unused helpers removed; "1 sets" style wording fixed in nine places; the two muscle maps no longer share one gradient id (a hidden map could break the other's shading); the Close settings and Close plate calculator buttons now have labels.
- Offline fix: the service worker's file list named
icon-512.png, which is not in the repo. If any listed file is missing, the browser refuses to save the whole list, so nothing is stored for offline use. The list now has only files that exist. (The icon itself is built into manifest.json and nothing else used the file.)
2.35.0
- Training year calendar, much bigger: it was a strip of tiny squares. It now opens as a month calendar with big day squares, a ring on today, month arrows and three tiles (active days, longest run, best month). The Year view is back with 20 px squares, month and weekday labels, and it opens scrolled to the latest weeks. Tap a day to see what you did and open that workout.
- Closest to leveling up and goal planner on Progress → Strength. See the five exercises nearest their next strength level, tap one to pick Intermediate, Advanced or Elite and get the gap, a weeks estimate, and targets along the way. Weight lifts can be saved as a lift goal.
- Weak points on Progress → Strength: muscle groups ranked by strength level, the one that is behind, and exercises to add. Moves that are not in the library are sorted into a muscle group by name so they still count.
- Level-ups: the workout summary now lists exercises that reached a new strength level. New badges for Intermediate, Advanced and Elite lifts, All-Rounder and No Weak Link.
- Deload check on Progress → Overview, with a real deload week: lighter weights and a set fewer in the Last time hint and in built workouts, a Home card with the days left, and the older easy-week card now shares the same switch (it used to be separate).
- Busy-season version of any program: 2 to 4 full-body days of 30 to 60 minutes, saved as a new program.
- Everything stays offline. (RPE/RIR logging was left out on purpose.)
2.34.0
- Progress is organised: the page now has six tabs (Overview, Muscles, Strength, History, Rewards, Social). Before, about 18 collapsed sections (level, season, quests, badges, buddies, report cards and more) sat under every tab, so you had to scroll past them whichever tab you were on. Each one now lives under the tab where it belongs, in labelled groups. Section rows have an icon tile and a one-line description (the Badges row shows how many you have). Recent PRs moved to Overview, and the monthly recap moved to History. Season starts closed so Rewards is not a wall of cards. The tab bar and rows work at 320 px wide and on a desktop screen, and everything keeps working as before (opening a section, sharing, re-rendering keeps your tab).
- Plateau check fix: when nothing was stuck, the Plateau check card showed twice and its fold opened empty. It is now one row that opens to the card.
2.33.1
- Bodyweight strength levels use the real tables: the "Strength levels · every exercise" card now grades bodyweight moves against the published StrengthLevel.com standards for your body weight (men and women). Pull-ups, chin-ups, dips and muscle-ups are compared by one-rep max with added weight (assisted reps count as negative). Push-ups (and incline, decline, diamond, archer, pike and handstand versions), bench dips, sit-ups, crunches, leg raises, toes to bar, ab wheel, inverted rows, back extensions, bodyweight squats, pistols, calf raises, Russian twists and mountain climbers go by reps, and planks and side planks by time. Added weight counts toward the reps. Lunges, split squats, step-ups and calf raises are graded by reps when you log no weight. Holds without a published table (hollow hold, L-sit, dead hang, wall sit) and a few look-alikes are scaled estimates, marked "est." Carries, bands, negatives, jumps and grip tools stay ungraded.
2.33.0
- Strength levels for every exercise: on Progress, under Strength, a new card grades each exercise you have logged as Beginner, Novice, Intermediate, Advanced or Elite for your body weight (men or women, same switch as the big-lift card). Search any exercise, filter by muscle group, and tap one to see what each level takes. Bench, squat and deadlift use the StrengthLevel.com tables; every other exercise is an estimate scaled from those (a dumbbell curl is a share of the press, a leg extension a share of the squat). Pull-ups and dips go by bodyweight, and push-ups, sit-ups and similar by reps. Timed holds, carries, bands and jumps are not graded.
- Big lifts are now the big 3: overhead press and barbell row are gone from the big-lift goals, the strength card and the lift ranks (overhead press badges stay). Smith machine bench and squat now count on the strength card too.
2.32.1
- Smith machine counts: Smith machine bench (Smith Machine Flat Press) and Smith machine squats now count as Bench Press and Squat for your estimated one-rep max, lift ranks, strength badges, big-lift goals and the wall of fame.
2.32.0
- Feels better while you train: after each set you see how many pounds you beat last time, and a new record gets a banner, confetti and a sting. Pick a sound pack (Soft, Arcade or Off) in Settings. The rest timer shows what is up next, a slim session bar shows sets done and XP earned, and Guided mode (More menu) walks you through one set at a time with big buttons.
- Seasons, challenges and rewards: 12-week seasons with eight reward tiers, five weekly "boss" challenges, a daily check-in streak, and a rewards shop where coins buy accent colors, profile frames and confetti styles.
- Body page: a guided camera with a ghost outline, grid and self-timer, a weekly photo reminder, a before/after slider you can share as a picture, measurement trends with goals and dates, a goal physique plan (lean, recomp or bulk) with calories and protein, and a muscle map on Progress that shows which areas are lagging, with a one-tap workout for them.
- Train together (no accounts): start a family challenge on one stat for the week; Buddies lets you send a finished workout (with a link so a friend can do the same session), see their results and cheer them on; the Wall of fame shows everyone's level, badges, streak and best lifts with a crown for each top lift. Everything travels as codes you paste into any chat.
- Smart help: one gentle nudge on Home (a muscle you skipped, one workout from your goal, streak at risk, photo due, challenge ending, welcome back), a short coach message after each workout, and a monthly report card with letter grades for consistency, strength and volume plus next month's focus. Nudges live inside the app only. They are not push notifications. Photos stay on your phone.
2.31.0
- Things to chase: XP and levels with titles and unlockable profile frames, a weekly goal ring, a goal streak with monthly freezes, three weekly quests, lift ranks, milestone and secret badges (109 badges in all), a year in review, and a family head-to-head with weekly 👑 winners.
- Home: one compact card shows your weekly ring, level, XP bar, quests and streak. Tap it to open everything on the Progress page.
- Celebrations: level-up, rank-up, goal-hit and streak screens with confetti, and a Share picture for each (and for any badge).
- Existing progress is not announced again: levels, ranks and badges you already have are quietly counted on first launch.
2.30.0
- New badges (76 of them): every badge has a tier (Bronze, Silver, Gold, Platinum) and its own medal with a ring that fills as you get closer. Lines: workouts, hours trained, big sessions, week streaks, total lifted, personal records, bench/squat/deadlift/press milestones, early bird, night owl, weekend warrior, body weight logs and exercise variety.
- Progress page → Badges: an earned/tier count, a Next up card for the badge you are closest to, category filters, and a grid showing the date you earned each one. Tap any badge for its details and progress.
- Unlock celebration: a full-screen medal reveal when you earn a badge (after a workout). Badges you already had are not announced again.
2.29.2
- The drag grip on exercise cards is gone (it was easy to hit while scrolling). Reorder with the up and down arrows.
2.29.1
- Fix: in Gym mode the exercise name no longer disappears.
- Tidier workout screen: Share day, Copy day, Skip day and Clear progress are now behind one ⋯ More button.
- Tidier Programs screen: Build me a program on top, then a neat grid: Create your own, Paste a program, Import a file, Stretch routine.
2.29.0
- Bottom tab bar: Home, Workout, History and Progress along the bottom (the ☰ menu stays at the top). Workout takes you to your current workout, or to the day list or Programs. It hides while you are typing a weight. Turn it off in Settings → Bottom tab bar.
- Landscape and tablets: on a tablet or with the phone turned sideways, the bar becomes a rail down the left side, the page gets wider, and on a large tablet the exercise cards, Home cards and Progress cards sit in two columns.
2.28.0
- How do you feel today? (in Build me a workout): sleep, overall soreness and muscles to skip today. Poor sleep or very sore = a set fewer on each; sore muscles are left out. Today's answers reset tomorrow.
- Injuries (Settings, and the same block in the build sheet): Shoulder, Elbow, Wrist, Lower back, Knee, Hip. Built workouts leave out exercises that load that joint, until you turn the flag off.
- Stretch & mobility routine (Programs screen), and Stretch for 5 min on the finish screen. Pick full, upper or lower body and 5 or 10 minutes; each hold has the timer button.
- Progress page, new sections: Weekly report card (last 7 days vs the 7 before, Share as picture), Badges (workouts, week streaks, total lifted, PRs, bench/squat/deadlift club milestones; a toast when you earn one), Lift goals (pick a lift and a target; shows progress and roughly when you will get there from your last 12 weeks), Training year heatmap, PR timeline, and Family board.
- Family board: set your name, Copy my code (or Share), and paste the codes your family sends you. It ranks this week or last week by workouts, then volume. No accounts; codes only hold your name, week and totals.
2.27.0
- Build me a program (Programs screen): pick a split (Push/Pull/Legs, twice a week, Upper/Lower, Full body), 1 or 4 weeks, time, goal and equipment. Every day is filled in by the workout builder and saved in Programs. 4 weeks is a wave: week 2 one more rep, week 3 one more set on the big lifts, week 4 an easy week.
- Make a 4-week version with progression on the day list of your own programs.
- Paste a program (Programs screen): paste text like "Bench Press 4x8" (a line without sets x reps starts a new day), check the preview, save.
- Copy day on the workout screen, (reorder exercises with the up and down arrows).
- Easy-week suggestion on Home after 4 steady weeks (2+ workouts each); Start easy week makes built workouts one set lighter for 7 days.
- Suggested today on Home when you have no program.
- Training days (Settings): Home shows a rest day with your recovery, or a training day.
2.26.0
- Build me a workout, more options:
- Goals: added Muscle size (volume), Strength-endurance and Pump day (machines and cables, 12 to 20 reps, short rests).
- Focus on a weak spot: pick a muscle, or Least trained lately, and it is added to the workout with an extra exercise.
- Warm-up (1 to 2 mobility moves first), Cool-down stretches (up to 3, for the muscles you trained) and a Cardio finisher (5, 10 or 15 minutes on a machine your gym has).
- Circuit and HIIT (timed) styles: every exercise back to back, rest only after the last one, same rounds for all (HIIT is 40 seconds each).
- Never show it: removing or swapping an exercise offers Never show it. Hidden exercises are listed in Settings → Hidden exercises with Show again.
2.25.0
- Finish screen "vs last time": shows how the volume compares with the last time you did this same day, and how many lifts went up or down.
- Gym mode: huge inputs and buttons, high contrast, and only what you need mid-set. Turn it on with the Gym mode button at the top of a workout, or in Settings.
- Timed sets: planks, holds, hangs and carries (and any exercise with a target like "45s") get a ⏱ button on each set. It counts up, or down from the target, and fills the reps box with the seconds.
- Drop set button: ↓ Drop on an exercise adds a drop set (tagged D) at about 80% of your last weight.
- Repeat last workout in the menu and on the finish screen.
- Voice logging: 🎤 Say a set on the workout screen. Say "bench 185 for 8" and the next open set of that exercise is filled in. It needs a browser that supports speech recognition (Chrome on Android does; iPhone Safari may not).
- The plate picture under barbell sets (already there) is unchanged.
2.24.0
- Automatic safety copies. A copy of your data is kept on the phone once a day (newest 8), with a one-tap Restore in Settings → Data & Backup. Going back saves a copy of the current state first.
- Backup reminder after 7 days instead of 14.
- Undo after deleting a workout or a body entry (10 seconds).
- Text size has three steps: Normal, Large, Extra large.
- History loads the newest 60 workouts with Show 60 more, so it stays fast with years of workouts.
- Plateau check folds to one line on Progress when nothing is stuck.
- Smaller fixes: the weight box shows a dash instead of repeating "lbs"; the plate calculator icon steps aside while the timer shows so page titles are not cut off; green buttons are a slightly deeper green so white text is easier to read; future days in This week are easier to read in light mode.
2.23.0
- The rep range in each box is no longer cut off. On the workout screen the target (for example "10-12" or "12-15") showed as "10-" or "12-". The whole range now fits, on big and small phones.
- A workout is saved on the day you started it. Starting at 11:40 pm and finishing at 12:25 am used to put the workout, the calendar mark and the streak on the next day. Now it counts for the day you started. A timer left running for days does not back-date anything.
- Small buttons are easier to hit. The set type button (R / W / D / F), move, swap and remove, the rest +/-15 buttons, Select, the month arrows, delete a body entry, and on Home Skip this workout, Calendar and Yesterday? have bigger tap areas. They look the same.
- Small grey text is a little brighter in dark mode so labels, dates and hints are easier to read in a bright gym.
- Screen readers now announce the menu close button and the set check button.
2.22.0
- A much shorter Home screen. Home was about two screens of cards. It now fits on one screen and shows only what you use every day: today's workout (with a small Skip link instead of a big button, and no long description), the Start training row as three small buttons, This week, and a one-row Work today. Last workout, PRs this month, the Search bar, the nine shortcut tiles and the 1RM Trophy Room are off by default. All of them are still in the ☰ menu or in Progress and History, and each card can be switched back on in Settings → Home screen.
- The menu has what the tiles had. My Exercises is now a row in the menu and 1RM Calculator sits next to the Plate Calculator and Tabata Timer under Gym tools.
- Every phone gets the shorter Home once when it updates (a saved Home order from 2.21.0 is replaced by the new short one, and a short note says where things went). Your changes after that are kept.
- Work today is a single row (the label and the three buttons side by side), and it only adds a line of text on a heavy day.
2.21.0
- A tidier Home screen. The cards now run in the order you use them: today's workout, a Start training row (Build a Workout, Empty Workout, Cardio & Sports), This week (with your streak and a Calendar button), Work today, Last workout, PRs, Search, then the shortcuts in three labelled groups (Train, Track, Tools), then the Trophy Room. The two sizes of shortcut tile are now one size, the duplicate Consistency card and Build card are gone, and Work today is one quiet row until you use it. A phone with its own saved Home order is moved to the new order once (hidden cards stay hidden); Settings → Home screen still lets you change it.
- A tidier side menu. Your current program is at the top, then three quick actions, one short list of pages with the current page marked, the gym tools, and the calendar folded away until you want it. The program card now says "NO PROGRAM" and "Tap to choose a program" when none is chosen.
- Build Workout gives a different mix every time. A weighted draw instead of always the same best picks, steering away from what it handed you recently and what you did in your last three workouts. Variety: Favourites, Balanced, Mix it up (default).
- Build Workout: lock, swap, remove and add an exercise from the result, and Shuffle the rest keeps what you locked.
- Build Workout: more options. New things to train (Lower body, Chest & back, Shoulders & arms, Glutes, Core), times from 15 to 90 minutes, a Tone & endurance goal, Equipment (Dumbbells, Machines & cables, Barbell, Bodyweight), Number of exercises, Supersets, and a Core finisher. Build and Shuffle stay at the bottom of the screen while you scroll.
- Upload
index.html, sw.js and README.md. exercises.js and programs.js are unchanged.
2.20.0
- A weight of 0 now means bodyweight. Type 0 as the weight of a set on any exercise and the set counts your body weight from Body & Photos as the load, so push-ups, sit-ups, lunges and the like get volume, an estimated 1RM, PRs and a progress chart. The box shows BW, History shows BW × 12, and "Fill in", "↺ Last" and the next-time suggestion keep it as a bodyweight set. An empty box still counts as nothing. Pull-ups, chin-ups, muscle-ups and dips already worked this way and are unchanged. Log or change your body weight and old bodyweight sets are worked out again.
- Upload
index.html, sw.js and README.md. exercises.js and programs.js are unchanged.
2.19.0
- Share one workout day. After you edit a day, Share day sends it as a link. Whoever opens it picks a program and a day, and that day is replaced with yours. Their own day is kept underneath, so Clear Progress (or Reset All Days) puts their original back, name and length included. There is also Programs → Paste a Share Link (works for a day or a whole program) and a Just do it once (Freestyle) option that leaves their programs alone.
- Build me a workout. Pick the muscles (or let it pick the freshest), 20 to 75 minutes and a goal, and it builds a session from the library using what your gym has, what you have been doing and how recovered each muscle is. It opens as a normal Freestyle workout. On Home and in the side menu.
- Work check-in. A Home card asks how hard work was today (Light or off, Normal, Heavy). A heavy day counts in the recovery map for back, grip and legs, keeps the suggested weight for those lifts where it was, and makes Build me a workout go easier. Switch in Settings → Workout Screen.
- Upload
index.html, sw.js and README.md. exercises.js and programs.js are unchanged.
2.18.0
- Similar exercises now only suggests exercises for the same muscle. Before, it matched the movement, so a chest dip suggested triceps dips, a push-up suggested diamond push-ups, a barbell row could suggest a shoulder raise and a deadlift suggested Romanian deadlifts. Now every one of the 624 exercises has a muscle (26 in all: chest, lats, mid-back, lower back, front, side and rear delts, traps, biceps, triceps, forearms, quads, hamstrings, glutes, abs, obliques and so on) and the list only offers that muscle. Inside the muscle it is still ordered by movement, equipment and grip, and the muscle is shown above the list.
- When you create your own exercise you can choose its similar exercises (up to 6) and, for shoulders, back, abs and forearms, which part of the muscle it works. Your picks come first, marked "Your pick", and your exercise shows up under the ones you picked. Old exercises you made before this update get their muscle worked out from their name.
- Every list was checked by reading it. Fixed on the way: Chest-Supported Dumbbell Front Raises was being read as a row; Reverse Nordic Curls is now matched with sissy squats and leg extensions; "run" was matching "crunch", so Tabata ab circuits were suggested for the treadmill; Prone Trap Raises is now grouped with the other prone raises and rear delt exercises.
- A few muscles have only a few exercises, so their lists are short: adductors (3), neck (2) and reverse curls (5). Add exercises to those and the lists grow.
- Upload
index.html, exercises.js, sw.js and README.md. programs.js is unchanged.
2.17.1
- The side menu now shows the real version. The text at the bottom left of the menu was written in by hand as "PulseTrack v2.0" and never changed. It now reads the app's version, so it stays right after every update.
- Upload
index.html, sw.js and README.md. Nothing else changed.
2.17.0
- Every exercise the built-in programs use is now in the exercise list, with its own form tips (624 exercises in all). The programs used about 280 exercise names the list didn't have. 35 of them were real exercises of their own and were added: Neutral-Grip Seated Cable Row, Chest-Supported Cable Row, Reverse-Grip Dumbbell Row, Seated Cable Chest Press, Low Incline Dumbbell Press, Single-Arm Low Incline Dumbbell Press, Plate Hammer Curls, EZ-Bar Front Raises, Cable Rope Curls, Seated Cable Lateral Raises, Incline Cable Front Raises, Incline Close-Grip Push-Ups, Incline Elbow-to-Knee Twist Crunch, the 10 Tabata pairs, and the combined and cardio blocks (Dead/Curl/Press, Cable Chest Fly to Cable Press, Barbell Bent Over Row to Straight Leg Deadlift, Steady State Cardio + Twists, Cardio and so on).
- The rest were the same exercise under a different label or spelling ("FST-7 Leg Press", "Squat HIIT 100's (0s Rest)", "Standing Side Raises", "Skullcrushers (Lying Triceps Extension)"). They are now other names of the exercise they are, so searching for them finds it, "also called ..." shows under it, and they show that exercise's tips. Nothing in your workouts, history or records was renamed.
- Only "Rest Day" and "Exercise of Your Choice" are not in the list, because they are placeholders, not exercises.
- Upload
index.html, exercises.js, sw.js and README.md. programs.js is unchanged since 2.11.0.
2.16.0
- 44 more exercises, each with its own form tips (589 in all): Bent-Over Cable Crossover, Pause Bench Press, Barbell Pullover, Reverse-Grip Incline Bench Press, Half-Kneeling Single-Arm Lat Pulldown, Dumbbell Deadlift, Renegade Rows, Smith Machine Row, Hex Bar Row, Smith Machine Deadlifts, Reverse Hack Squat, Barbell Hack Squat, Wedge Squat, Reverse Nordic Curls, Single-Leg Lying Leg Curl, Lateral Step-Ups, Smith Machine Romanian Deadlift, Dumbbell Cleans, Barbell Power Cleans, Bradford Press, Cable Rear Delt Rows, Overhead Carry, Waiter Curls, Dumbbell Preacher Hammer Curls, Bodyweight Triceps Extensions, Barbell High Pulls, Neck Crunches, Plank Shoulder Taps, Plank Jacks, Bear Crawls, Smith Machine Crunches, Sandbag Carry, Rucking, and 11 warm-ups and stretches (Wall Slides, Hip Circles, Ankle Mobility Rocks, Deep Squat Hold, Standing Quad Stretch, Calf Stretch, Doorway Chest Stretch, Cross-Body Shoulder Stretch, Overhead Triceps Stretch, Kneeling Lat Stretch, Knee-to-Chest Stretch).
- Names you search for now find the exercise. "Behind The Back Wrist Curls" finds Behind-The-Back Barbell Wrist Curls, "Incline Dumbbell Row" finds Incline Dumbbell Row (Bilateral), "Machine Tricep Dips" finds Machine Triceps Dips, and "Rope Overhead Extension" finds Cable Overhead Extension. Each shows the form tips written for that exercise.
- Own exercises were reset once for everyone (see "Your own exercises"). The Create your own exercise feature is unchanged.
- The exercises used inside the built-in programs that have a library version now use it ("Reverse Hack Squats", "Hex bar Row", "Smith Machine Crunch", "Barbell Power Cleans" and a few more).
- Upload
index.html, exercises.js, sw.js and README.md. programs.js is unchanged since 2.11.0.
2.15.0
- Every exercise has its own form tips. Before, Form tips › showed one of about 170 general checklists, so every curl, every row and every press shared the same cues. Now all 545 exercises in the library have 3 or 4 steps and an "avoid" line written for that exercise: Bench Press, Hammer Curls, Pendlay Row, Cat-Cow, the treadmill and the rest. The 290 or so differently named exercises inside the built-in programs ("FST-7 Leg Press", "Neutral Grip Low Cable Row", "Reverse Hack Squats", the Tabata pairs and so on) are covered too: some have their own tips, the rest show the tips for the exercise they are a version of. Searching by another name still works ("Barbell Bench Press" shows the Bench Press tips).
- Exercises you create yourself have no tips of their own, so they still use the old general checklists when one matches. If you want to give one its own, add
tips and avoid to its line in exercises.js (see "Adding programs and exercises").
- These are general guidance written for lifters, not coaching advice. If something hurts, stop and ask a coach or a doctor.
- Upload
index.html, exercises.js, sw.js and README.md. programs.js is unchanged since 2.11.0.
2.14.0
- Plateau check counts weeks, not sessions. Before, a lift was flagged after 3 saved sessions without a new best, however long those took. Now it is flagged when you've trained it at least 3 times in the last few weeks and none of those sessions beat your earlier best. Pick 2, 3, 4, 6 or 8 weeks with the buttons on the Plateau check card (4 to start). The card, the tip on the workout screen and the one on the exercise page all say how many weeks the lift has been stuck, and a lift you've stopped doing no longer shows up.
- Upload
index.html, sw.js and README.md. programs.js and exercises.js are unchanged since 2.11.0.
2.13.0
- Move exercises up and down. Each exercise card now has an up and a down arrow. Tap one to swap the exercise with the one above or below it, for when a machine is busy or you just want a different order. The card stays under your thumb so you can keep tapping. Supersets move as one block. Typed and checked-off sets go with their exercise, the order is saved, and Clear Progress restores the original order. Works in every program and in Freestyle.
- Upload
index.html, sw.js and README.md. programs.js and exercises.js are unchanged since 2.11.0.
2.12.1
- Stray
[cite: 197] tags are gone. Program text that was copied in with source markers ([cite: 197], [cite: 12, 13], [cite_start], or a bare cite: 197) showed them at the end of exercise descriptions. Phones keep their own saved copy of each program, so replacing programs.js never removed them. Now, the next time the app opens, the markers (and the space before them) are removed from everything saved on the phone: programs, day titles, exercise descriptions, your exercise notes, history and custom exercises. The rest of the text is left exactly as it was. Programs you import later (from a file or link) are cleaned the same way, and so is a restored backup.
- Upload
index.html, sw.js and README.md. programs.js and exercises.js are unchanged since 2.11.0.
2.12.0
- Skip a workout. Skip this workout on the Home card and Skip day on the workout screen move you on to the next day without deleting any exercises or making a rest day. The day counts as done (so the week still advances), nothing is saved to History or your streak, the sets you'd checked off for that day are cleared, and the days list shows it as SKIPPED. Undo is offered right after, and a skipped day can still be opened and done later.
- Upload
index.html, sw.js and README.md. programs.js and exercises.js are unchanged since 2.11.0.
2.11.0
- Supersets, tri-sets and circuits, one exercise at a time, in every program. Anything that used to be one card with a single weight box ("Barbell Curl w/ Close Grip Bench Press", "Calves Tri-Set (Donkey, Standing, Seated)", "Giant Abs Set") is now separate exercises, each with its own sets, reps and weight, linked as A1/A2 (A1/A2/A3 for tri-sets). Done in Arnold Blueprint to Mass and to Cuts, Bulk with Buendia, Shred with Buendia, Kris Gethin's Legacy 12-Week (its circuits) and FST-7: Hard Body Blueprint Level 1 (its ab circuits), on top of Super Shredded 8 from 2.10.0. The Tabata blocks stay as they were.
- Supersets that were already separate exercises are now linked: Kris Gethin DTP 4-Day Split, Kris Gethin's Legacy 12-Week and FST-7: Big and Ripped. The two (or three) exercises now show as one group, with the rest timer waiting for the last one.
- Phones that already have these programs update themselves the next time the app opens: only combined cards you haven't changed are replaced (if you changed the sets, every part follows; a card you swapped is left alone), and your progress, history and checked-off sets stay. Pairs are linked once; if you unlink one, it stays unlinked.
- 8 more exercises (545 in all) and 21 more alternate names: Incline Close-Grip Dumbbell Press, Lying Lateral Raises, Front and Back Barbell Press, Cable Fly Ladders, Triceps Rockers, Between-The-Legs Cable Curls, Plate Preacher Curls, Row Curls.
- Upload
index.html, programs.js, exercises.js, sw.js and README.md.
2.10.0
- Super Shredded 8 supersets, one exercise at a time. Each superset used to be one card ("Bench Press / Dumbbell Flye") with a single weight box. Now every half is its own exercise with its own sets, reps and weight, linked as A1/A2. The rest comes after the second one. The Tabata blocks are unchanged. On phones that already have the program it updates itself the next time the app opens: only cards you haven't changed are replaced (if you changed the sets, both halves follow). Your progress, history, and anything you swapped stay as they are.
- Simpler superset button. The chain icon in the corner of each exercise is gone. Between two exercises there is now a clearly labelled button: + Superset with next to link them, Superset with next · Unlink to separate them.
- 8 more exercises (537 in all) and 9 more alternate names: Seated Barbell Curls, Low and High Cable Crossovers, Smith Machine Behind-The-Neck Press, Lying Cable Rear Delt Raises, Oblique Cable Crunches, Standing Lat Pulldown, Smith Machine Behind-The-Back Shrugs.
- Upload
index.html, programs.js, exercises.js, sw.js and README.md.
2.9.1
- Finish Workout always asks first. With the look-over turned on (the default) you get the "Ready to save?" screen, and its Save workout button ignores taps for the first moment after the screen opens, so a second tap meant for Finish (or lifting straps brushing the screen) can't save the workout. With the look-over turned off (Settings → Workout Screen) you now get a Finish workout? question with Not yet and Finish workout. A workout with nothing checked off already asked "Finish anyway?".
- Upload
index.html, sw.js and README.md. programs.js and exercises.js are unchanged since 2.9.0.
2.9.0
- Kris Gethin: 12 Weeks to Muscle is now a built-in program (84 days, 450 exercises). It arrives on phones by itself on the next update.
- Switch week at the very top. A week bar is pinned under the header of the Days screen, so you no longer scroll to find it. Switch week opens a grid of weeks and one tap puts you there. It works for every multi-week program, including FST-7 Big and Ripped and Jim Stoppani's Shortcut to Shred, which only had a plain counter before.
- Kai Greene 6 weeks and FST-7 Hard Body Blueprint Level 1 now know which days belong to which weeks. Before, finishing days 1-6 sent you straight to the Weeks 4-6 days; now the plan stays on its first days for the weeks they are meant for. Their day titles lose the repeated "[W1-3]" and "W1 & W3 -" prefixes, because the headers say it.
- Works on phones that already have the app. Nothing is reset. The next time the app opens it adds the new program, fills in the missing week info on your existing copies of the built-in programs (only if they are unchanged), and converts a week counter you had typed in, once. Your progress, history, PRs and your own programs are not touched, and programs you deleted stay deleted.
- 26 new exercises (529 in all) and 70 more alternate names for existing ones, so the 12-week program's moves match your list: Cuban Press, Dumbbell Squats, Seated Cable Shoulder Press, Bent-Over Dumbbell Rows, Jackknife Sit-Ups, Cable Reverse Crunches and more.
- Upload
index.html, programs.js, exercises.js, sw.js and README.md.
2.8.2
- A calmer Home screen. It was too busy, so the cards are now quiet:
- Last workout is one row: the day, how long, sets, volume and any PRs. The list of exercises is gone (tap the row to open the workout).
- PRs this month is one row with the count and the first two names. Tap it for the full list; tap a record to open that exercise, and Back to PRs brings you back. It is hidden completely when you have no new records.
- 1RM Trophy Room is one line per lift (name, thin bar, best / goal). The extra lines ("est. 1RM", "Next milestone") moved into the goal screen you get when you tap a lift. Lifts with no record yet are dimmed.
- This week shows only the lifting dot until you have logged cardio, and the Lifting / Cardio key appears then too.
- Softer look: small grey headings instead of bold titles, one colour for the shortcut icons, no glow on the routine card, no description under the program name, and a slimmer Consistency card.
- The exercise screen's Back button now says where it goes ("Back to search", "Back to PRs").
- Upload
index.html and sw.js. exercises.js and programs.js are unchanged.
2.8.1
- More cardio machines. Cardio & Sports now has a Gym machines group: Treadmill, Incline Treadmill Walk, StairMaster / Stair Climber, Elliptical, Arc Trainer, Stationary and Recumbent Bike, Air Bike (Assault / Echo), Rowing Machine, SkiErg, VersaClimber, Jacob's Ladder, Mini Stepper and Arm Bike. There are also Trail Running, Mountain Biking, Stair Running, Spin Class, Circuit Training, Boot Camp, Battle Ropes, Sled Push / Pull, Kickboxing, Zumba, Water Aerobics and Barre (71 activities in all). The picker search understands other names ("stairmaster", "stepmill", "assault bike") and several words at once. Distance goals and shoe tracking include the new running, walking and cycling kinds.
- The exercise list has 5 more cardio machines (Arc Trainer, Recumbent Bike, VersaClimber, Jacob's Ladder, Arm Bike) and Stairmaster also answers to StepMill and Stair Climber (503 exercises).
- Upload
index.html, exercises.js and sw.js. programs.js is unchanged.
2.8.0
- In the gym: suggested weight for next time with one-tap fill, the next set fills itself in, the workout timer waits for your first set, a look-over screen before saving (time, volume vs last time, new records), and favorites and recent exercises at the top of the picker.
- Gym profiles: bar, plates, dumbbell range and equipment for each place you train. The picker and swap ideas hide what the gym can't do.
- Home: a Search bar, This week, Last workout and PRs this month cards, all of which you can hide or reorder.
- Set rows: choose what shows (last time, tag, est. 1RM) and a left-hand mode. There is no RPE column, because RPE tracking wasn't added.
- Streaks: sick days and trips don't break your streak, and an optional switch counts cardio toward the weekly goal (off by default).
- Cardio: monthly distance goal, best 5K and 10K, and shoe mileage.
- Clean Up Exercise Names: one tap renames the built-in programs' alternate spellings (about 220) to the standard names and merges history and PRs, with Undo.
- Search across exercises, programs, workouts, notes and cardio.
- A small fix: Bodyweight Squats no longer get the long rest meant for heavy barbell squats.
- Upload
index.html and sw.js. exercises.js and programs.js are unchanged since 2.6.5.
2.7.0
- Cardio & Sports, a separate log for runs, rides, swims, classes and sports (see Cardio and sports). It has a live timer, 50 activities plus your own, pace and speed, a weekly minutes goal with an 8-week chart, history with filters, totals and records, win-loss records for sports, and calorie estimates. It is completely separate from lifting: your sets, volume, records, muscle map and Consistency are not affected. It has a tile on Home and an entry in the menu, and a slim strip on Home while a timer is running. It is included in backups.
- Upload
index.html and sw.js. exercises.js and programs.js are unchanged since 2.6.5.
2.6.5
- Duplicate exercises are merged. Names that were the same exercise are now one entry, and the shorter name is kept: "Triceps Rope Pushdown" and "Rope Pushdown" became Rope Pushdown, "Barbell Bench Press" became Bench Press, and so on (111 merged). Real variants stay separate (Straight Bar Pushdown, Reverse-Grip Cable Pushdown, Incline Bench Press, Dumbbell Bench Press and so on). The old names are not lost: they are kept as other names in
exercises.js, so searching for them still finds the exercise.
- 135 new exercises, including Machine Triceps Dips, more machine and cable moves, specialty bars, unilateral and tempo variations, cardio, and warm-up and mobility drills. The list is now 498.
- Swap suggestions now really suggest similar exercises. The old version only matched by muscle group. The new one compares the movement (a pushdown, a row, a fly, a press), the equipment, and the grip, angle or one-sided versions, and shows why each one was picked. It also works for exercise names that a program uses but that are not in the exercise list.
- A Similar exercises list is on every exercise page, and tapping one opens it.
- Searching in the picker and the Library also looks at an exercise's other names, and the best match comes first.
- Your history is safe. Nothing in your programs or logged workouts was renamed. If you logged an exercise under its old name, picking it from the list keeps using that name so your records and "last time" numbers stay together. The Library shows an old name with its own history as "same as …", and old names with no history of their own are no longer listed as extra exercises. To combine them yourself, open the old name and tap Merge history into another exercise at the bottom of its page.
- Upload
index.html, exercises.js and sw.js.
2.6.4
- Week starts on setting (see Settings). The week used to always start on Monday, so a Sunday-start user saw last week's sets under "This week". Now it follows your phone's region by default, and you can pick Sunday or Monday. Progress also shows the dates covered.
- Cleaned the built-in programs' text: website names and "the PDF says…" notes are gone from 7 descriptions and 159 exercise notes, and the HIIT 100's title no longer ends in "(Exact 36 Workouts)". No exercise was removed or changed (all 5,916 are there with the same sets, reps and rest). Phones that already have the programs are tidied automatically. Upload
programs.js along with index.html.
2.6.3
- The Tabata timer was rebuilt: centred, with room for the notch and home bar, a progress ring, round bars, next-up and time left, pause, skip and restart, adjustable timing with presets, and a done screen.
2.6.2
- You choose your current program with Select. Looking at a program or workout no longer picks it. If you used an older version, the program that was already current stays current until you select another.
2.6.1
- The workout timer is a button with Pause, Resume, Stop, Fix the time and Start over. A forgotten timer is caught at Finish, and you can fix a past workout's time in History.
2.6
- New: recovery map, editable weekly target ranges, plateau tips, balance check, body-weight trend, pace and goal, form tips, and a richer workout share card with copy-as-text.
- Tidier: Progress in tabs, Settings in six groups, Home with one banner at a time and smaller tiles, quieter workout cards, a shorter Body log form, and a shorter Recent PRs list.
2.5
- New: light mode and Auto, 13 themes, light and custom backgrounds, background effects, corners, row size, a Home layout editor, your own exercises, and the 1RM calculator. Your look is applied before the app draws, so a light theme doesn't flash dark. A phone that never changed its look stays dark Classic.
2.4
- The app stopped picking a program for you (your own earlier choice was kept; a deleted program isn't replaced). Fonts are built into the app.
2.2
- Volume was recalculated once: dumbbells count ×2, and pull-ups and dips use body weight. Old totals may look different.
Updates never touch your saved data, photos or settings. New settings (target ranges, goal weight) are saved with your other settings and included in backups.
Built for lifting. Lift heavy, log everything, beat last week. 🏋️