Skip to content
RepCanvas

Training

How the workout logger works

The RepCanvas workout logger autosaves every set, detects personal bests automatically, and tracks set status without a save button or extra taps.

The RepCanvas workout logger is the surface you spend the most time in. The contract is simple: log the set the moment it is done, in as few taps as possible, with no save button and no separate confirm step. This page covers how that feels in practice and what the app records on your behalf.

Per-set autosave

Every set has its own row with a weight cell and a rep cell. Type your weight, type your reps, tap elsewhere - the set is saved. There is no save button, no batch-commit step, no risk of losing a session because you forgot to tap something at the end. If your connection drops mid-set, the logger queues the change and retries when you are back online; you will not lose work.

The set’s status indicator updates as you go. An empty row reads as not yet logged; a row with reps entered reads as logged. Skipped sets carry their own marker so the app knows you chose to skip rather than forgot.

For bodyweight exercises like pull-ups, push-ups, or dips, leave the weight cell at 0 and enter the reps. The app treats that as a logged set: the row counts toward the exercise’s “Done” status, the set persists when you finish, and it shows up as previous data on the next week’s card.

Automatic personal-best detection

RepCanvas detects every personal best automatically. After every save, the app compares the set you just logged against your full history for that exercise across three records:

  • The best weight at any rep range - heaviest you have lifted, regardless of how many reps you got.
  • The best per-set volume - weight × reps, with count-twice multipliers applied for unilateral or paired-implement exercises. This is what marks the per-set PB pill on the Train view; a 62.5 × 12 set (volume 750) outranks a 65 × 11 set (volume 715), so working a few extra reps at slightly less load still counts.
  • The highest tonnage in a session - the total work for that exercise across all sets, which catches volume PRs that single-set logic misses.

For bodyweight exercises (pull-ups, push-ups, dips), more reps at the same load is what beats your prior best — so a 12-rep set of pull-ups is a PB the moment it edges past your previous best of 11. If you later add a weight belt to the same exercise, the weighted set takes over the PB ranking from there on; bodyweight back-off sets after a weighted set in the same workout are not new PBs.

A set that beats any of those records is marked as a personal best the moment you save it. The Train view shows a coloured border, an accent tint, and a PB pill on the row. Recent personal records also surface on the insights tab and on every history page.

You never have to flag a PB manually. The point is that the app handles bookkeeping so you can focus on the lift.

The Best panel on each exercise card

Tap the trophy on an expanded exercise card to see the reference sets that frame the work in front of you:

  • Last Program Best - the best set of this exercise from the most recent prior program. The bar to clear when you start a new block.
  • All-Time e1RM PB - the set with your highest estimated 1-rep max across every program. The heaviest single-rep ceiling you have demonstrated.
  • All-Time Volume PB - the set with your highest weight x reps total across every program. Often a different set from the e1RM PB: 100 x 18 (volume 1800) outranks 140 x 10 (volume 1400) on volume even though the heavier set wins on e1RM.

When the same set wins both rankings the panel collapses to a single “All-Time Best” row. Bodyweight exercises drop the e1RM row entirely and rank by reps.

Set status

Every set sits in one of three states: logged, skipped, or removed. Logged is the default - reps are entered (weight may be 0 for bodyweight) and the set counts toward volume and PB checks. Skipped is an explicit choice you make when you want the app to know you considered the set and decided not to do it. Removed is for the rare case where the program prescribed something you have no intention of doing this week - the set hides from the display but the program continues to expect it next week.

Used together, the three states let RepCanvas distinguish “you completed the workout with one skip” from “you missed a set” from “you cut a set entirely from the program” - a distinction that matters for honest reporting.

Drop sets

Drop sets are first-class - they sit under the main set row, indented, with their own load and rep cells. The drop sets and back-offs page covers how they affect volume math and PB calculations.

Count-twice exercises

For dumbbell pairs, you enter the per-dumbbell weight; for unilateral exercises like a single-arm dumbbell row, you enter reps for one side. Toggle Count Twice: Weight or Count Twice: Reps on the exercise card to tell RepCanvas to double the relevant figure when it computes PBs, tonnage, and the collapsed-card chip displays. The set-row inputs still hold what you typed, so editing stays intuitive — only the derived numbers change.

Progression tolerance

RepCanvas suggests next week’s weight and reps based on your progression mode (weight-first, reps-first, or balanced) and your target percentage in Settings. The tolerance setting (default 0.5%, configurable up to 5%) defines a deadband around the planned bump. If your actual lift lands inside that window, the rep target stays flat next week.

In reps-first mode the deadband compares your actual weight against the bumped target, not the prior week’s weight. If you went heavier instead of doing more reps and the heavier weight lands in the tolerance window, the rep target stays flat — RepCanvas treats the weight bump as substituting for the rep bump rather than asking you to do both.

Week types and targets

The Periodisation tab assigns each week a type, and the type decides whether targets appear in the logger:

  • Training and Peak — full target tracking. RepCanvas suggests next week’s weight and reps in each set’s input cell, and the sets feed PBs, strength trends, and volume trends.
  • Maintenance — hold your training top-set intensity and cut volume by deleting trailing sets. Targets are not printed in the logger (you already know the number — it is last block’s top set). PBs and strength trends still count maintenance work; only the lower volume is excluded from volume-decline tracking, because dropping sets is the whole point of the week.
  • Pre-Load and Deload — show a de-scaled target off your prior training top-set: Pre-Load suggests 70% of the weight, Deload 60%, reps held the same. Drop sets to cut volume. The Targets panel labels the phase (“Pre-Load (70%)” / “Deload (60%)”). The per-set override editor stays off — these are read-only de-scales. The number tells you what to lift; these weeks are still excluded from PB walks, strength trends, and volume-decline tracking, since the reduced loads would otherwise read as regressions.
  • None — targets are turned off entirely. Cells render empty, the override editor is hidden, the Targets panel shows “Progression: N/A”. Excluded from PB walks and strength trends.

If you set a manual per-set target before starting a Training or Peak workout, that override drives the in-cell placeholder once the workout begins. A weight-only or reps-only override keeps the computed value on the other axis.

Mid-workout adjustments

Adding a set, removing a set, or swapping an exercise mid-session is supported and is canonical for future weeks too - the mid-workout changes page covers the propagation rules. This is intentional: your program should reflect what you actually train, not what you intended to train.