Here is the whole program: 8 weeks, 3 full-body sessions a week of 35 to 45 minutes, done at home on the floor plus one thing to pull on (a solid table, a towel in a door, a door bar if you own one). Every set, every rep, the tests at weeks 0, 4 and 8, and the rules for moving up a variation or dealing with a missed week. Nothing to buy and no PDF to download.
It is written for someone who can do 0 to 10 push-ups and no pull-up. If you have never trained bodyweight at all, read how to start calisthenics first, then come back. If you are wondering what is possible in a flat at all, the calisthenics at home guide answers that.
What the week 8 tests tend to show for someone who does not skip a week: floor push-ups in clean sets where they used to be on a raised surface, rows with the body at about 45 degrees, a comfortable full squat, a hollow hold of around 30 seconds, and a dead hang of 20 to 30 seconds if a bar is available. Orders of magnitude, not promises.
Before week 1: the tests
Five tests, one afternoon. Write the numbers down with the variation you used, because the same tests come back at the end of week 4 and week 8.
| Test | How | Week 0 | Week 4 | Week 8 |
|---|---|---|---|---|
| Push-ups | Max clean reps in one set, floor or hands raised, note which | |||
| Rows | Max clean reps, table or towel, note the body angle | |||
| Squats | Reps in 60 seconds, full depth | |||
| Hollow body | Max hold, knees bent or legs straight, note which | |||
| Dead hang | Max hold, only if you have a bar |
The tests decide your starting point. Fewer than 5 push-ups on the floor, start on a raised surface. Fewer than 5 rows, use the towel at about 60 degrees. Everything about how to run a test properly and how to read it lives in tracking your progress. Here you only need the table.
The program in short
Three sessions, A, B and C, on non-consecutive days. Each session has four blocks: push, pull, legs, core. Two exercises per block, 3 sets each, 60 to 90 seconds of rest between sets. Start every session with about 8 minutes of warm-up.
| Week | Block | What changes |
|---|---|---|
| 1 | 1 | 2 sets per exercise, learn the movements |
| 2 | 1 | 3 sets |
| 3 | 1 | 3 sets, aim for the top of each rep range |
| 4 | 1 | Session C lightened to 2 sets, tests on the last day |
| 5 | 2 | Variations moved up one step where the test allows, back to 2 sets |
| 6 | 2 | 3 sets |
| 7 | 2 | 3 sets, 3-second lowering on push-ups, rows and squats |
| 8 | 2 | Session C lightened, tests on the last day |
The “no anchor” column is for people with nothing to pull on at all. It is a stopgap, not an equal trade: training your back without a bar explains what each substitute does and does not cover.
Block 1, weeks 1 to 4
Session A
| Exercise | Starting variation | Sets × reps | No anchor |
|---|---|---|---|
| Push-ups | Hands raised or floor, per the test | 3 × 6 to 10 | same |
| Rows | Towel at 60 degrees, or table | 3 × 6 to 10 | Floor pulls 3 × 12 |
| Squats | Full depth | 3 × 10 to 15 | same |
| Glute bridge | Two legs | 3 × 12 to 15 | same |
| Hollow body | Knees bent | 3 × 15 to 20 s | same |
| Plank | Forearms | 3 × 20 to 30 s | same |
Session B
| Exercise | Starting variation | Sets × reps | No anchor |
|---|---|---|---|
| Pike push-ups | Knees down, or standing pike | 3 × 6 to 8 | same |
| Rows | Same variation as session A | 3 × 6 to 10 | Swimmers 3 × 12 |
| Reverse lunges | Bodyweight | 3 × 8 to 10 per leg | same |
| Calf raises | On a step | 3 × 15 to 20 | same |
| Dead bug | Opposite arm and leg | 3 × 8 per side | same |
| Side plank | Forearm | 3 × 15 to 20 s per side | same |
Session C
| Exercise | Starting variation | Sets × reps | No anchor |
|---|---|---|---|
| Push-ups | Same variation as session A | 3 × 6 to 10 | same |
| Rows | Same variation as session A | 3 × 6 to 10 | Floor pulls 3 × 12 |
| Squats | Full depth | 3 × 10 to 15 | same |
| Chair squat, 3 s down | Sit back to a chair slowly | 2 × 10 | same, or single-leg bridge 2 × 8 per leg |
| Hollow body | Knees bent | 3 × 15 to 20 s | same |
| Dead hang | Bar | 3 × 10 to 20 s | Straight-arm plank 3 × 20 to 30 s |
Week 1 is 2 sets of everything. Not because 3 would hurt you, but because the point of the first week is to learn where your hands and feet go, and tired people learn badly.
Block 2, weeks 5 to 8
Same three sessions, each variation moved up one step. Only move an exercise up if it passed the rule below; otherwise keep the block 1 variation for that exercise and move the others.
| Exercise | Block 2 variation | Sets × reps | No anchor |
|---|---|---|---|
| Push-ups | Floor if they were raised, otherwise feet raised or diamond | 3 × 8 to 12 | same |
| Rows | Towel at 45 degrees, or table with feet on a chair | 3 × 8 to 12 | Floor pulls with a 2 s pause 3 × 15 |
| Pike push-ups | Feet on a chair | 3 × 5 to 8 | same |
| Squats (A) | Split squat, rear foot on a chair | 3 × 8 to 10 per leg | same |
| Squats (C) | 3 s lowering | 3 × 12 | same |
| Reverse lunges | Walking lunges | 3 × 10 per leg | same |
| Glute bridge | Single leg | 3 × 8 to 12 per leg | same |
| Hollow body | Legs straight | 3 × 20 to 30 s | same |
| Dead bug | Opposite arm and leg, slower | 3 × 10 | same |
| Plank | Straight arms with shoulder taps | 3 × 10 per side | same |
| Dead hang | Bar | 3 × 20 to 30 s | Straight-arm plank 3 × 30 s |
If the dead hang holds 30 seconds and you have a bar, you can swap it for 3 × 3 negative pull-ups from week 6. That is the only pull-up work in this program; the full road to a first rep is in the first pull-up progression.
Week 7 adds a 3-second lowering phase on push-ups, rows and squats, same reps. It will feel like a big jump. It is supposed to. Week 8 drops session C to 2 sets, and the tests close the program on the last training day.
The rules that keep the program alive
- Moving up a variation. You hit the top of the rep range on all 3 sets, two sessions in a row, for that exercise. Then that exercise moves up, and only that one. Push-ups can be in block 2 while rows are still in block 1.
- A missed session. Do it the next day and shift the rest of the week. Never do two sessions in one day to catch up.
- A missed week, holiday or illness. Repeat the previous week, not the one you skipped. Your body did not do it, so the plan did not happen.
- Reps dropping two sessions in a row. Go back to the previous variation for one week. Then sleep and eat, which is usually the actual problem.
- Joint pain, not muscle soreness. Replace the exercise with the previous variation and do not push through it. If it does not settle in a week, that is a question for someone who can see you, not for an article.
Week 9 and after
Run the week 8 tests and compare them with week 0. Then pick one of three roads.
Repeat block 2 with the next variations up, using the progressive overload levers in the order that article gives. This is the right choice for most people, because the program still has room in it.
Switch to a session built around one goal, statics, sets and reps or something else, using the workout structure template. Three days a week stays a good default; training frequency covers when to change it.
Or aim at a skill. With a bar, the first pull-up. Without one, the L-sit or a wall handstand are the two that fit a flat.
Whichever road, keep the notebook. What gets written down progresses. The rest gets forgotten by week 11.
The only hard part
Eight weeks is 24 sessions, and the weeks that get skipped are usually the early ones, before anything looks different. The program asks for floor space, a table or a towel, and showing up again on Wednesday. On the days when 45 minutes do not exist, the 20-minute session keeps the week alive, and the rest of what you can do in a flat is mapped out in calisthenics at home.