Routines

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


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, where no day is tied to a fixed weekday), the home screen leads with the next day in the sequence and highlights it. After you finish Workout A, Workout B moves to the top so you always know what's next. You can still tap any day to start it - the order is a suggestion, not a lock. If a routine's days are assigned to specific weekdays instead, the home screen highlights the day matching 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.

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 are included when you share a routine as a .badger file, since they describe the program.

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.
  • Warmup flag - Mark the set as a warmup.

Sets can be reordered by dragging.

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, and the summary marks it with a small caret so you can see which sets came up short. Nothing turns red.

Warmup sets can't have ranges. A warmup is a fixed rung on the way up, not a target to push against.

If you have no use for ranges, ignore the affordance and nothing changes. Every existing routine keeps exact targets, and a set with no range behaves exactly as it always has.

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.

Badger follows that. While you're still working up through the range, the suggestion on the training screen reads "Work toward 10 reps" and no weight increase is offered. 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 grip type (if machine has grip types enabled)

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.

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.

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.


Built-in programs

Badger ships with 7 pre-built programs in 3 folders:

Beginner

  • StrongLifts 5×5 - Two alternating full-body days (A and B), 5 sets of 5 reps on the major compound lifts. Add weight every session.
  • Starting Strength - Similar structure to StrongLifts, with slight exercise differences and 3×5 progression.

Intermediate

  • GZCLP - Three-tier approach: heavy compound lifts (T1), medium compounds (T2), and accessory work (T3). Progressive rep schemes per tier.
  • 5/3/1 BBB - Wendler's 5/3/1 main sets followed by Boring But Big 5×10 volume work at 50% of training max.

Splits

  • 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.