Routines

A routine is a saved training program - a collection of days, each with its own exercises and (optionally) predefined sets. Start a workout from a routine and Badger pre-fills your exercises and suggests weights based on your previous performance.

A slot can also carry a progression rule: a sentence saying what should happen to its weight next session.


Routine list

Go to You → Routines to see your routines. They can be organized into folders. The active routine appears at the top with an accent border - it's the one shown on the home screen.

Active routine

Only one routine can be active at a time. To set one as active, long-press it and tap Set active. The active routine's days appear on the home screen as tappable rows.

For an alternating program (A/B-style, with no day tied to a fixed weekday), the home screen highlights the next day in the sequence and moves it to the top once you finish the one before it. You can still tap any day to start it - the order is only a suggestion.

If a routine's days are assigned to specific weekdays instead, the home screen highlights today's weekday.

Folders

Tap the folder icon in the top bar to create a folder. Long-press a routine to move it into a folder. Routines not in any folder appear under "Other".

Creating a routine

  1. Tap the + button and enter a name.
  2. Tap the routine to open it.
  3. Tap Add day to create your first training day.
  4. Tap a day to open it, then tap Add exercise to add movements.
  5. Tap an exercise row to configure its predefined sets.

Day scheduling

Tap the calendar icon on a day row to assign it to specific days of the week. The day will appear as "scheduled" on the home screen on those days. Scheduled days are shown as abbreviated weekday labels (Mon, Wed, Fri, etc.).

If two days share the same weekday, a warning appears in the routine detail screen.

Day options

Each day has additional settings accessible via its ⋮ menu:

  • Default gym - Pre-set which gym this day is performed at.
  • Notes - Freeform notes for the day. When you start a workout from this day, the notes appear as a dismissable banner at the top of the training screen (useful for "Focus on pause reps today" or "Deload - 50% intensity" reminders). Dismissing the banner hides it for the current workout only; starting a new workout from the same day shows it again.
  • Wave - Run this day as a cycle of weeks instead of the same session every time. Off by default. See waved days.

Routine notes

Each routine has its own Notes section on the routine detail screen - a place for program-level context: why you chose this routine, the current cycle, a target event date, or what's working. Tap the notes area (or Add notes when it's empty) to open a full-size editor.

Routine notes travel with the routine when you share it as a .badger file.

Predefined sets

Tap an exercise row within a routine day to open its predefined sets. Each set can have:

  • Weight - A specific value, or "Copy from previous" to use the weight from your most recent session.
  • Reps - A specific value, or "Copy from previous".
  • Rep range - An optional top end, so the target reads "8-10" instead of "8". See below.
  • Open target (AMRAP) - No top end at all, so the target reads "8+". See below.
  • Warmup flag - Mark the set as a warmup.
  • Percentage - Prescribe the set as a percentage of the slot's training max instead of a weight. See percentage sets.
  • RPE or RIR - How hard the set is meant to feel. See intensity targets.
  • Driver - Mark this as the one set whose reps a progression rule reads. See the set that drives the rule.
  • Week - Which week of a waved day this set belongs to.

The last three only appear when they apply - when the slot has a rule, when the day is waved, or when the set is already using one of them. A routine that uses none of them looks exactly as it always has.

Sets can be reordered by dragging.

On a timed exercise, the duration field takes a time as readily as a number of seconds - type 15:00 for a fifteen-minute ride, or 900 if you prefer. See typing a duration.

Rep ranges

A rep target can be a single number or a range. Tap + rep range under a working set and set the top end - the target then reads "8-10" everywhere it appears: in the editor, on the routine log preview, above the set recorder while you train, and on the workout summary.

The lower number is the one you have to hit. Anything from 8 to 10 reps on an "8-10" set counts as meeting the plan, and so does anything above 10. Below 8 is under plan, marked in the summary with a small caret instead of a warning color.

Warmup sets can't have ranges.

Ignore ranges if you have no use for them - existing routines keep their exact targets unchanged.

Open-topped targets (AMRAP)

The other kind of target has a floor and no ceiling. Tap + AMRAP under a working set and the target reads 8+: at least 8 reps, then as many as you can that day.

AMRAP stands for as many reps as possible, and a set written 1+ is how you program a set taken to failure.

A set is either ranged or open, never both: setting one replaces the other. Warmups can't be open, for the same reason they can't have a range.

Meeting the plan means clearing the floor - an 8+ set is met at 8, and everything past that is bonus. An open set never shows the "work toward N reps" prompt below, since there's no top to reach. Raise the rep number on an open set and it stays open: an 8+ becomes a 12+.

See AMRAP and to failure for how an open target and the To failure chip fit together while you're logging.

Double progression

Ranges are what make double progression work: you add reps until you reach the top of the range, then you add weight and drop back to the bottom.

While you're working up through the range, the training screen suggests "Work toward 10 reps" instead of a weight increase. Once you've hit the top of the range on every working set, across as many sessions as your progression setting requires, it switches back to the usual weight suggestion.

Exercises with a plain rep target (no range) are unaffected - they use the same weight suggestion they always did.

Quick edit

Each routine day card has a Quick edit button (next to "Day options") that opens a compact batch editor. Every exercise on the day shows on one screen with inline fields for its first working set - weight and reps, or whichever fields apply to the exercise type (distance, duration, etc.).

Change a value and submit to save. Useful after a deload, or when bumping every exercise by a fixed amount. Tap the exercise name to jump to its full predefined-sets editor.

Quick edit shows a rep range read-only ("target 8-10 reps") - editing the range itself stays in the full editor. If you raise the rep number past the top of the range, the range is dropped and the set goes back to an exact target.

Per-exercise overrides in routines

Each routine exercise also has override settings separate from the predefined sets:

  • Weight increment override
  • Notes override
  • Tempo
  • Default machine & attachment
  • Default bar
  • Default grip type (if machine has grip types enabled)
  • Default accessories - program the band, chain or straps you always use on that slot; they come with the exercise when you log the day instead of being re-picked every week. Sets logged with an accessory attached stay out of personal records, so a slot programmed this way sits outside record-keeping.

Rest time is a property of the exercise, not the routine. Set a working/warmup rest on the exercise itself (Exercise → settings) and it applies everywhere you train it. A routine exercise still has a "Rest (seconds)" field, but it's only a fallback - it applies when the exercise has no rest configured, and never overrides the exercise's own rest.

Progression rules

A routine slot can carry one progression rule: what Badger does to that exercise's weight next time, based on how the last session went. It's written as a plain sentence, not a formula or a template with hidden workings:

After 3 misses, drop 10%. When all working sets hit the plan, add 2.5 kg.

That is the rule Badger writes for StrongLifts, word for word as it appears in the app. The bold parts are chips you tap to change. Clauses are read top to bottom, and the first one that matches is the one that fires - what you read is what happens.

Nothing has a rule until you write one. A routine you have already built behaves exactly as it did before.

If the sentence does not mention a case, nothing happens in that case. The rule above says what to do after 3 misses, and what to do when every working set lands. Anything else, and the weight stays where it is. The sentence is complete as written.

You see the increment in your own unit. That rule reads 2.5 kg if you log in kilos and 5 lbs if you log in pounds: the program's own two figures, never converted from one into the other. Converting 2.5 kg gives 5.51 lbs, which no gym can load.

Writing one

Open a routine day, tap an exercise to open its predefined sets, and use the Progression section at the top.

  • Linear and Double progression are buttons: tapping one writes a sentence you then own. Change any part of it, and it stays exactly as you left it.
  • Every number in the sentence is a tappable chip - the increment, the percentage, the number of misses, the rep threshold. Tap it, type a new value, done. There is no free-text formula field anywhere.
  • None clears the rule, behind a confirmation.
  • Notes - a rule can carry a line of your own ("only while I'm eating enough"). It's a reminder for you; the rule runs the same either way.

Reading one

On the routine detail screen, a slot with a rule shows the sentence in the margin under its name, in the same wording the editor used.

Slots without one read "No rule · progression hints active" - but only on a day where some other slot has a rule, so a routine nobody has written a rule for looks exactly as it did before.

When a rule acts

Only at the routine log preview, and only ever as a proposal. Rules never edit your routine.

  • The proposed weight replaces the working sets' weight in the preview, with a line under it saying which part of the rule fired - for example Rule met: all sets hit the plan last session · tap edit to override. The new weight is in the set rows above; the line states only the reason.
  • Tap the edit pencil on the exercise and type your own weight. The reason stays on screen and the line reads overridden. Overriding does not disable or delete the rule.
  • Reps are never proposed. Rules move weight only.
  • Nothing is recorded until you actually start the workout, so opening the preview five times proposes the same number five times.
  • A rule that has nothing to propose says nothing at all.

What the preview line says

One voice per slot. An exercise with a rule does not also get the generic progressive overload suggestion, and it sits out the auto-progress offer on the workout summary. Slots without a rule keep both, unchanged.

A rule that holds on purpose says so. A rule that moved nothing because nothing was due stays silent. One that fired a clause whose answer was "not this time" writes a line of its own instead, for example Holding: the driver set fell short of its rep target.

Miss the minimum once and the training max holds for the whole cycle. 5/3/1 only raises it at a cycle boundary, so a week 1 shortfall is still in effect three weeks later. The preview tells you while you wait: Holding: the plan's minimum was missed this cycle. Setting the week by hand clears it.

A deload pauses the count, it never resets it. A deload week is not treated as a real session: it does not advance a cycle, and a run of misses you were three-quarters through survives it intact. A deload week that is part of the program - 5/3/1's fourth week - is ordinary plan data and does count.

Setting up rules on a routine you already have

On the routine detail screen's ⋮ menu, tap Set up progression to add rules to a routine you already have. It lists every sentence it would write, slot by slot and day by day, and writes nothing until you confirm.

It skips any slot that already has a rule, and skips weight arithmetic for an exercise with no weight. Slots programmed with a rep range are offered double progression; fixed-rep slots get linear.

Training max

Some programs - 5/3/1, nSuns - do not prescribe a weight. They prescribe a percentage of a training max: a number you keep per lift, set below your real one-rep max on purpose, that never appears on the bar. It exists to be multiplied.

A slot that uses one shows a line under its name on routine detail: Training max 135 lbs · 120 → 130 → 135 ›. Tap it to open the training max sheet, which explains what the number is, lets you set or change it, and shows every move it has made and what caused each one.

  • Badger proposes 90% of your best estimated 1RM for that lift and shows its working, so you can see where the number came from before accepting it.
  • With no history for the lift, Badger proposes nothing and asks you for a number. A training max is never guessed.
  • A rule can move it. Every move is written into the same history, marked as coming from the rule, from you, or from the first time it was set.
  • Your own edit always wins.
  • Until a slot has a training max, its percentage sets have nothing to work from, and the preview says "Set a training max to use this rule" rather than guessing.

Percentage sets

In the predefined-sets editor, a set can be prescribed as a percentage instead of a weight - 85% instead of 100 kg, for example. Turning a percentage on replaces the weight field; turn it off and the weight you last typed comes back untouched.

  • The load is worked out when you open the log preview, from the slot's training max, and then snapped to something you can actually load - your gym's plates, the bar you have pinned, the machine's step size, whether that machine is logged per side. The same arithmetic the plate calculator and warm-up generator use.
  • A percentage that lands below the bar clamps up to the bar and tells you it did.
  • Percentage and plain-weight sets mix freely within one day.
  • Weight source and history scope do not apply to a percentage set - the percentage is the source.

A percentage of another lift

Plenty of programs prescribe a variation as a percentage of the lift it assists - a close-grip bench at 80% of your bench, a front squat at 70% of your back squat. Pick which lift the percentage comes from: close-grip bench at 80% usually means 80% of your bench, not 80% of the close-grip.

When a slot has at least one percentage set, its set editor grows a Percent of row under Progression. It reads This lift by default and lists the other lifts your routine programs; pick one and every percentage in that slot is taken from that lift's training max or top set.

  • Borrowed, never owned. Nothing is written back to the lift you borrowed from, so one lift never ends up with two diverging numbers. Change the bench's training max and the close-grip work follows it the same session.
  • The lift you borrow from needs a rule of its own. A training max or a top set is something a progression rule keeps, so a lift with no rule has no number to lend, and the preview says so instead of guessing one.
  • It stays inside the routine: a lift trained in another program progresses separately there.
  • Remove that lift from the routine and the row says Not in this routine; the percentages resolve against this slot's own number again.
  • Not the same as progressing together: two slots that progress together share one number and one set of counters, while this only borrows the number.

Intensity targets (RPE and RIR)

A routine can state how hard a set should be, on top of how heavy: RPE 8, or RIR 2. Most programs written in the last decade say at least some of their work that way, and some say nothing else.

In the predefined-sets editor, a working set offers + RPE and + RIR beside the rep-target controls. Tapping either gives you the same stepper you use when logging a set. The target then shows on the log preview beside the set, and on the training screen above the entry area - Plan 8-10 @ RPE 8.

  • One or the other. RPE and RIR are the same statement in two dialects, so picking one clears the other. If you are not sure which you want, the logging page explains both.
  • Whole numbers. Badger logs RPE in whole numbers, so it prescribes them that way too - a target you could never record against would be a dead end. A shared file written against a half-step scale rounds up when you import it.
  • Warm-ups do not carry one. A warm-up is defined by being easy.
  • Nothing marks your homework. The target tells you what the set is for; what you log and what the program asked for are two separate facts, yours to reconcile.

The set that drives the rule

Some rules read one specific set instead of the whole exercise: nSuns keys off a particular set out of nine, and 5/3/1's last main set is the one that decides the week. Mark that set as the driver in the predefined-sets editor, and a clause like "If the driver set reaches 8, add 5 lbs" reads its logged reps.

Give it a label - a 5+ set says so - and the sentence uses the label instead: "If the 5+ set reaches 8, add 5 lbs."

It is an explicit flag, not "the last one" or "the third one" - a position would break the first time you deleted a set. Only one set per slot can be the driver, and marking a new one clears the old. A warmup can never be the driver.

Driver sets are usually open-topped (5+), which is what makes the reps you got the useful input.

Waved days (a cycle of weeks)

A training day can run as a cycle of weeks instead of the same session every time - 5/3/1's four-week wave being the obvious case. Set it in Day options → Wave on the routine detail screen, beside the day's notes and schedule.

  • Each set is written once and tagged with the week it belongs to. In the predefined-sets editor, a waved day gives each set a week field.
  • A set with no week appears in every week - that is how the accessory work you do all cycle long gets written once instead of four times.
  • The log preview shows only the current week's sets. Sets from other weeks are not there to skip past.
  • Off is how every existing day behaves. A wave of one week is not a wave, so stepping below two turns it off.

Rotating the exercise itself

A week can change which lifts you do, beyond just their sets. Conjugate-style max-effort days are the usual case: a board press one week, a good morning the next.

Write each variation as its own exercise in the day, and tag its sets with the week it belongs to. A slot whose every set belongs to another week is not in the day that week at all - it does not appear in the log preview and is not written into the workout.

An exercise with no sets at all is left alone: an empty slot is a deliberate "log this freehand," and it shows up every week.

Which week the routine is on

The week is the routine's, not the day's - every waved day in the routine runs on the same one.

Its own WAVE section sits near the top of the routine detail screen, above Starting weights. It reads Week 2 of 4, with a note underneath: "Moves on by itself once every day of the cycle has been trained."

  • It advances on its own once you have trained every day of the cycle, in whatever order. Skipping a day leaves you where you were; it doesn't cost you a week.
  • Tap it to open Which week? and pick one. It saves immediately, and every waved day in the routine follows.
  • The section is not there at all unless the routine actually has a waved day, so nothing changes for a routine that has never had one.

A stage ladder is not a wave. GZCLP's 5×3+ → 6×2+ → 10×1+ and StrongLifts' 5×5 → 3×5 → 1×5 use the same underlying machinery, but you move down a ladder by stalling, while a wave's weeks pass on their own regardless.

A laddered slot has no WAVE section. The log preview reads Stage 2 of 3 instead of Week 2 of 3.

What travels when you share a program

Progression rules, percentage sets, driver flags and waves all travel in a .badger file, because they are the program. Your training max does not. A shared file is a program, not the sender's numbers - the recipient sets their own training max from their own history.

That's the same line Badger draws around your photos and your private setup notes. See the format reference.

Starting a routine workout

From the home screen, tap a day row under your active routine. This opens the routine log preview, which shows:

  • All exercises for the day with their resolved sets (predefined weights, or weights copied from your last session)
  • An estimated workout duration
  • A deload bar at the top if a deload week is active (showing the applied reductions, with a toggle to use full weights for that workout)

You can check or uncheck exercises to include or exclude them before starting. You can also tap Swap on any exercise to replace it with a different one - this changes the preview only, not the routine itself.

Tap Start to begin the workout.

Weight source

On the routine detail screen, a segmented control sets how Badger determines starting weights:

  • Last performance (default) - Use the weight from your most recent workout for each exercise, regardless of where the workout came from.
  • Routine defaults - Use the predefined set weights only. If a set is set to "Copy from previous," it uses the predefined value.
  • Routine defaults then last - Try predefined weights first; if not set, fall back to last performance.

History scope

Controls which previous workouts are considered when looking up "last performance":

  • Any workout (default) - Look at all previous workouts.
  • This routine - Only look at workouts started from this same routine. Useful for running multiple programs simultaneously without them interfering with each other.

Rep target

Controls where the prefilled reps come from when you log from this routine. Weight is unaffected - it still follows the weight source above.

  • Last performance (default) - Reps copy from your last session. Good for autoregulation, where you adjust reps based on how you feel.
  • Routine plan - Reps stay pinned to the predefined scheme. Use this for strict programs (StrongLifts 5×5, a fixed 3×4, etc.) where the rep count shouldn't drift from session to session.

Supersets in routines

Exercises within a routine day can be grouped into supersets. Open the ⋮ menu on any exercise in the routine detail screen and choose Superset…, then check the exercises to group and confirm.

Grouped exercises show a named, colored header in the day's exercise list; tap it to open the superset editor (rename, recolor, reorder members, add or remove exercises, dissolve). Workouts started from the routine inherit the groups and auto-advance in the training screen. See Supersets for the full editor reference.

Alternative exercises

Pre-assign substitute exercises to a routine slot so you can swap on the fly when a machine is taken or something bothers you - no hunting through the library mid-set.

To set them up, open the ⋮ menu on an exercise in the routine detail screen and choose Manage alternatives…. Search for and add up to two alternatives. Each alternative row has its own ⋮ menu to remove it or make it the default. Changes save immediately.

During a workout started from that routine, open the training screen's ⋮ menu and tap Switch to alternative… to pick one - the original is shown too, labeled (original), so you can switch back.

The swap applies to that session only: the new exercise comes in with its own most recent weights, your routine is unchanged, and your history records whatever you actually performed. You can also pre-pick an alternative before starting, from the swap icon on the routine preview screen.

Plan B: when there's no alternative set up

Pre-assigned alternatives are the first choice, but you won't always have one ready - and free workouts have no routine slot at all. Open the training screen's ⋮ menu and tap Plan B - swap exercise… (the item reads Switch to alternative… when the slot does have alternatives, and opens the same sheet).

Under any alternatives, a Plan B section lists up to eight substitutes Badger works out on the spot:

  • They share a primary muscle with the exercise you're replacing, so the swap does the same job.
  • They're available where you are: machine exercises only appear when a machine you've linked to them is at the gym you're logging at, while barbell, dumbbell, cable, band, kettlebell and bodyweight exercises are always offered. With no gym set on the workout, every machine exercise is offered too.
  • Anything you've marked avoided is left out, as are the other exercises in the same superset.
  • Exercises you've actually done come first, most recent first, with a quiet "last done" date on the row. Suggestions matching the original's equipment type sort ahead of ones that don't.

Nothing fits? The Browse library row at the bottom of the sheet opens the full exercise picker. However you pick, the swap behaves exactly like a pre-assigned alternative: this session only, the substitute arrives with its own recent weights, and your routine and history are untouched.

If you've already completed sets

On the exercise you're swapping away from, Badger asks one question first. By default those sets stay recorded on the exercise you actually did, and the substitute continues in its own slot with the remaining sets.

If you started logging under the wrong exercise, check the box in the dialog to move everything - completed sets included - to the new exercise instead. The dialog's text updates as you toggle the box, so the Swap button always states what it's about to do.

Making an alternative the permanent default

If you need a substitute for a longer stretch - an injury, travel, or a machine that's gone for good - open an alternative's ⋮ menu on the Manage alternatives screen and tap Make default.

That exercise becomes the slot's default and the previous default moves into the alternatives list, so you can promote it back later. Unlike the session-only switch, this changes the routine itself.

The confirmation offers to set the new default's target weights from its own recent history. Equipment defaults (machine, attachment, grip) reset since they belonged to the old exercise, while your set and rep scheme stays the same.

Duplicating a routine

Long-press a routine → Duplicate. A prompt asks for the copy's name. The duplicate includes all days, exercises, predefined sets, and group assignments.

Creating a routine from workout history

You can turn any set of past workouts into a new multi-day routine in a few taps - exercises, sets, and warmups are all preserved automatically.

  1. Go to History and switch to List view.
  2. Long-press any workout card to enter selection mode.
  3. Tap additional cards to select them (the header shows how many are selected).
  4. Tap Create Routine in the top bar.
  5. Follow the four-step sheet:
    1. Name - type a name for the new routine.
    2. Settings - choose a weight source and history scope (same options as when creating a routine manually).
    3. Day names - each selected workout becomes one day. The default name is the weekday of that workout (e.g. "Monday"). Rename any day here.
    4. Confirm - review the summary and tap Create Routine.

The new routine opens immediately. Each day contains the exercises and sets exactly as logged, including any warmup sets. Days are ordered oldest to newest.

To cancel, tap in the top bar or press the back button.


Sharing a routine

A routine can leave your phone two ways, and they sit side by side in the same menu.

Send routine file shares a .badger file. That is the transfer: whoever opens it gets the routine itself, days, sets, rep targets, progression rules and all, ready to use.

Share as image makes a picture of the plan, sized for a post. It is not a screenshot of the app. Badger composes a card in your own theme and accent, previews it, and hands it to your phone's share sheet.

Which card you get depends on where you started.

  • From the routine's menu you get the overview: the routine's name, how many days a week it runs, and one block per day with that day's exercises, sets and reps.
  • From a day's own menu you get that day: the program name, the day name, a "Day 1 of 4" mark, a summary line, and one row per exercise with its set count and target.

On a day card, a lift running a progression rule carries the rule underneath it, in the same words the app uses. If every lift on the day follows the same rule, it is printed once at the bottom instead of repeated.

A lift whose sets change by week or by stage - 5/3/1's main lift, a GZCLP tier - shows all of them as a short ladder, and marks none. The card describes the program as a whole, regardless of where you happen to be in it.

Your weights stay off by default

A routine shared as an image is a template, and the reader's numbers are not yours. So the card shows sets and reps, never weights, unless you turn on Include my weights on the share sheet. That switch is off every time you open the sheet and is not remembered anywhere - there is no setting behind it.

One exception, in both directions: a set programmed as a percentage (say 65% of your training max) shows the percentage whether the switch is on or off, because the percentage is the plan itself, unlike the weight it works out to.

The image mentions nothing about the .badger file, on purpose: a picture cannot hand anybody a file. If the person wants the routine itself, send the file - it is one tap away in the same menu.


Built-in programs

Badger ships with 10 pre-built programs in 3 folders. Six of them carry their own progression rules, so the program's own arithmetic runs where you can read it:

Beginner

  • StrongLifts 5×5 - Two alternating full-body days (A and B), 5 sets of 5 reps on the major compound lifts. Adds weight every session you complete, and drops 10% after three misses in a row. The same three misses also walk the program's stall ladder: 5×5, then 3×5, then 1×5, so you rebuild lighter on a shorter prescription. The deadlift is already 1×5 and is not laddered. Stall again at 1×5 and the program's own answer is to move on - Madcow 5×5 is in the Intermediate folder.
  • Starting Strength - Similar structure to StrongLifts, with slight exercise differences and 3×5 progression. Its rule halves your increment when you stall, instead of deloading you.

Intermediate

  • GZCLP - Three-tier approach: heavy compound lifts (T1), medium compounds (T2), and accessory work (T3). Each tier has its own rule and its own stage ladder, written as stages Badger moves you through when you stall: T1 goes 5×3+ → 6×2+ → 10×1+, and T2 goes 3×10 → 3×8 → 3×6.
  • 5/3/1 BBB - Wendler's 5/3/1 main sets followed by Boring But Big 5×10 volume work, both as percentages of a training max, on a four-week wave. Set your training max per lift the first time you run it; the rule moves it at the end of each cycle after that - unless the plus set came up short somewhere in the cycle, in which case it holds for the rest of it. The main lift and its BBB volume work read the same training max, so setting it once covers both.
  • nSuns 531LP - A long percentage ramp per session with one driver set, and rules that read the reps you got on it to decide the week's increment. Percentages come off a training max.
  • Madcow 5×5 - Weekly instead of per-session progression. Every set is a percentage of that lift's top set, and all three days of a lift read the same number: Friday's heavy triple sets the weight Monday ramps to. The press and the deadlift are trained on Wednesday, so Wednesday moves those. One rule per lift, on the day the program puts the decision, and it deloads 10% after two missed weeks instead of three.

Splits

  • PPL + Upper/Lower 5-Day - Push, pull and legs, then an upper and a lower day. Rep ranges instead of fixed rep counts. New installs only; existing installs can download the file.
  • PPL 6-Day - Push/Pull/Legs twice per week.
  • Upper/Lower 4-Day - Two upper-body and two lower-body days per week.
  • Full Body 3-Day - Three full-body sessions per week.
Note: Built-in programs use standard exercise names. If you've renamed or customized exercises, you may need to swap them in the routine after installing.

Built-in programs arrive on a new install only. If you have been using Badger a while, download the one you want from the program files page instead, or write the rules onto a routine you already have with Set up progression.

Two things these rules do that a single sentence about one slot cannot say on its own, both of them stated in the routine's own notes:

  • A rule can change the number of sets, not just the weight. StrongLifts' 5×5 → 3×5 → 1×5 stall ladder is written as three variants of the same day, and the deload that fires after three misses is what moves you down to the next one. GZCLP's 5×3+ → 6×2+ → 10×1+ works the same way.
  • Slots of the same lift can progress together. Madcow's number is kept per lift instead of per slot, which is why Friday's heavy triple really does set the weight Monday ramps to. The same mechanism is why 5/3/1's main lift and its Boring But Big volume work share one training max. Set up progression tells you when it is about to do this, with the note "Progresses together on every day it appears" under the affected slots.