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.

TestHowWeek 0Week 4Week 8
Push-upsMax clean reps in one set, floor or hands raised, note which
RowsMax clean reps, table or towel, note the body angle
SquatsReps in 60 seconds, full depth
Hollow bodyMax hold, knees bent or legs straight, note which
Dead hangMax 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.

WeekBlockWhat changes
112 sets per exercise, learn the movements
213 sets
313 sets, aim for the top of each rep range
41Session C lightened to 2 sets, tests on the last day
52Variations moved up one step where the test allows, back to 2 sets
623 sets
723 sets, 3-second lowering on push-ups, rows and squats
82Session 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

ExerciseStarting variationSets × repsNo anchor
Push-upsHands raised or floor, per the test3 × 6 to 10same
RowsTowel at 60 degrees, or table3 × 6 to 10Floor pulls 3 × 12
SquatsFull depth3 × 10 to 15same
Glute bridgeTwo legs3 × 12 to 15same
Hollow bodyKnees bent3 × 15 to 20 ssame
PlankForearms3 × 20 to 30 ssame

Session B

ExerciseStarting variationSets × repsNo anchor
Pike push-upsKnees down, or standing pike3 × 6 to 8same
RowsSame variation as session A3 × 6 to 10Swimmers 3 × 12
Reverse lungesBodyweight3 × 8 to 10 per legsame
Calf raisesOn a step3 × 15 to 20same
Dead bugOpposite arm and leg3 × 8 per sidesame
Side plankForearm3 × 15 to 20 s per sidesame

Session C

ExerciseStarting variationSets × repsNo anchor
Push-upsSame variation as session A3 × 6 to 10same
RowsSame variation as session A3 × 6 to 10Floor pulls 3 × 12
SquatsFull depth3 × 10 to 15same
Chair squat, 3 s downSit back to a chair slowly2 × 10same, or single-leg bridge 2 × 8 per leg
Hollow bodyKnees bent3 × 15 to 20 ssame
Dead hangBar3 × 10 to 20 sStraight-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.

ExerciseBlock 2 variationSets × repsNo anchor
Push-upsFloor if they were raised, otherwise feet raised or diamond3 × 8 to 12same
RowsTowel at 45 degrees, or table with feet on a chair3 × 8 to 12Floor pulls with a 2 s pause 3 × 15
Pike push-upsFeet on a chair3 × 5 to 8same
Squats (A)Split squat, rear foot on a chair3 × 8 to 10 per legsame
Squats (C)3 s lowering3 × 12same
Reverse lungesWalking lunges3 × 10 per legsame
Glute bridgeSingle leg3 × 8 to 12 per legsame
Hollow bodyLegs straight3 × 20 to 30 ssame
Dead bugOpposite arm and leg, slower3 × 10same
PlankStraight arms with shoulder taps3 × 10 per sidesame
Dead hangBar3 × 20 to 30 sStraight-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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.