SET&STRETCH no equipment · no account · free

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
AB
PullPull-up trackChin-up track
Push10 narrow push-ups10 wide push-ups
Legs15 squats15 squats, later 6-8 Bulgarian split squats per leg
Core10 hanging knee raises, later leg raises10 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.