The 20-minute A/B program
Two bodyweight workouts, as many rounds as possible in 20 minutes. Log your reps; the app moves each exercise up or down for next time. How it works.
About the program
The plan
What is this?
Two bodyweight workouts, A and B, of 20 minutes each. Each has four exercises done as a circuit: as many rounds as possible in 20 minutes (AMRAP). You log the reps of every set. The app sets the targets for next time from those logs.
The two workouts
| A | B | |
|---|---|---|
| Pull | Pull-up track | Chin-up track |
| Push | 10 narrow push-ups | 10 wide push-ups |
| Legs | 15 squats | 15 squats, later 6-8 Bulgarian split squats per leg |
| Core | 10 hanging knee raises, later leg raises | 10 cross-body mountain climbers per side |
Schedule: A, B, rest
The order is always A, B, rest, then A again. A missed day skips nothing: the app waits for the next workout. The rest step is one full calendar day after B: B on Tuesday, rest on Wednesday, A from Thursday. Muscles get stronger in the days between sessions, not during them.
B can follow A on the same day if that suits your week.
Why the app asks for your maxes
Your max chin-ups, pull-ups and hanging leg raises set where each track starts. With 3 or more chin-ups you start at 1 chin-up per round; with 3 or more pull-ups too, at 1 pull-up. Otherwise you start with 1-second negatives. The start is low on purpose: 20 minutes of rounds is far more work than one max set, and an easy start moves up within a week.
Logging
What counts as a rep
- Pull-ups and chin-ups: from straight arms to chin over the bar, no kicking or swinging.
- Push-ups: body in one straight line, chest close to the floor, arms straight at the top.
- Hanging raises: knees or straight legs up to hip height, without swinging.
- Per-side exercises: enter the reps of your weaker side.
A rep that misses the standard is logged as 0. Honest logs keep the targets right: a padded log moves you up to a target you cannot hold.
Negatives
A negative is only the lowering half: jump or step up so your chin is over the bar, then lower as slowly as you can to straight arms. You are stronger lowering than pulling, so negatives build pull-up strength before you can do one.
Tap Start: five low beeps give you time to get up, then one beep per second while you lower, and a long beep at the target. Held for the whole count: Yes. Reached the bottom earlier: No, which logs 0.
Why only complete rounds count
A round counts when all its exercises are done. The round the timer cuts off is saved in your history but does not count for any rule: you were tired and halfway through, so it says little about your level.
Moving up and down
Moving up: every round, two sessions in a row
An exercise moves up when you hit its target in every complete round, in two sessions of that workout in a row. One good day can be luck or fresh muscles; two in a row shows the strength is there.
Negatives go up 1 second at a time to 5 seconds. Reps go up 1 at a time to 5. Each exercise moves on its own, and A and B move separately.
Moving back: more than half missed, two sessions in a row
When you miss the target in more than half of the complete rounds, two sessions in a row, that exercise moves back one step. A target you miss most rounds trains failed reps and loose form. One step back gives clean reps again, and you move up from there.
Moving back is normal after bad sleep, illness or a break. It is part of the plan, not a failure.
From negatives to the first chin-up
5-second chin-up negatives in every round, two sessions in a row, move you to 1 chin-up. If you miss that single chin-up in a round, the remaining rounds switch to 5-second negatives so you still train the movement. Those rounds count as missed for the 1-rep target.
Why pull-ups wait for chin-ups
Chin-ups are easier: palms toward you lets the biceps help more. Workout A trains pull-up negatives up to 5 seconds. Pull-ups start at 1 per round once workout B has a chin-up in every complete round, two sessions in a row.
From squats to split squats
The app times each squat set in workout B. When your squats in the last 3 rounds take less than 20% longer than in the first 3, with at least 6 complete rounds, two sessions in a row, 15 squats no longer tire you. Legs B then moves to Bulgarian split squats: rear foot on a chair, 6 per leg, up to 8.
From knee raises to leg raises
10 hanging knee raises in every complete round, two sessions in a row, move workout A's core to 10 hanging leg raises: legs straight. If you start with 10 or more leg raises, you start there.
Other situations
No pull-up bar today
Turn on "No pull-up bar" before Play, for example when travelling. The pull-up and chin-up slots are skipped and hanging raises become 15 lying leg raises. These sessions do not count for the bar exercises: they neither move them nor break a streak. Squats and split squats still count. Round totals are only compared with other no-bar sessions.
Stopping early
Quit asks whether to save or discard. A saved early session moves the schedule on but no exercise moves up or down, because its round count is not a 20-minute count.
Your data
Everything stays in this browser on this device: no account, nothing sent to a server. Export a backup file now and then, and import it on a new phone or browser. On iPhone, Safari can delete a site's data after 7 days without a visit; adding Set & Stretch to your Home Screen prevents that.
Safety
Stop an exercise on sharp pain, and see a doctor if it persists. This program is general training advice, not medical advice.