Health · training

Gym Companion

Pick a routine, run the session, rest properly. Everything stays on your device.
44 exercises, six routines
Full body · not started

A routine, a set tracker and a rest timer that actually beeps — because the set you count wrong and the rest you cut short are the two things that quietly decide whether the session did anything.

Choose a routine

not started
Pick a routine above, then press Start.
drag to orbit · scroll to zoom
Build or edit this routine

Sets, reps, target weight and rest for every exercise. Changes are kept on this device only — there is no account and nothing is sent anywhere.

Save this routine

Give it a name and keep as many as you like. Saved routines live on this device only.

Exercise library — and add your own

Not in the list?

Add it. It is stored on this device and appears in the library from then on.

Working weight, one-rep max and what to put on the bar

On the bar

Per side, heaviest first, on a 20 kg bar. Not every number is loadable — the smallest step above the bar is 2.5 kg, so 21 kg does not exist.

How this works

The rest timer is the part that earns its place. Rest is prescribed from the goal of the set, not from how you feel: roughly 3–5 minutes between heavy strength sets so the phosphocreatine system actually recovers, 60–90 seconds for hypertrophy work, and 30–60 seconds for endurance. Cutting a strength rest to a minute does not make the session harder in a useful way; it makes the next set lighter.

The estimated one-rep max uses three published formulas at once — Epley, Brzycki and Lombardi — because showing one number would hide how much they disagree. At five reps they fall within about 5 kg of each other on a 100 kg lift. At twenty reps they are 77 kg apart — Brzycki says 212 where Lombardi says 135 — which is the whole reason a rep-max estimate from a high-rep set is not worth programming from.

Two details worth knowing: Epley and Brzycki cross at exactly ten reps and agree there, and Epley reads 3.3% high on a true single — it is not calibrated at one rep, so it is the wrong formula for heavy singles even though it is the one most often quoted.

Everything you add or change — custom exercises, edited routines — is written to this browser's local storage and nowhere else. There is no account, no sync and no request to any server.

What this page assumes

General training guidance for healthy adults, not a prescription. Rep-max formulas are population fits and can be several kilos out for any individual, especially above ten reps and on isolation lifts. Not modelled: your training history, fatigue, technique, injury history, medication, or how well you slept. Rest bands are typical published ranges, not thresholds. This is not medical advice. If you are new to lifting, returning from injury, pregnant, or managing a heart or joint condition, get individual guidance before loading a barbell — and stop if something hurts in a way that is not muscular effort.

Field notes

The rest is part of the set

Three minutes feels indulgent and is the point. Heavy strength work is limited by phosphocreatine recovery, and that takes minutes, not seconds.

Rep-max formulas diverge fast

Within about 5 kg at five reps, and 77 kg apart at twenty. Estimate from sets of five or fewer, or do not estimate.

Not every weight exists

On a 20 kg bar with standard plates the smallest step is 2.5 kg. Programmes that call for 21 kg are asking for something the equipment cannot do.

Volume load is reps × weight, nothing more

5×5 at 100 kg is 2,500 and 3×10 at 60 kg is 1,800 — the heavier session is the bigger number here. It measures work, not difficulty.

Version history · 2 releases
  1. v3.292026-08-16The gym tool gets a rigged figure that demonstrates every lift, a male/female choice, a routine timeline you can jump around, and a real progress bar
  2. v3.302026-08-16The gym figure becomes an actual 3-D character you can orbit, the forward kinematics were wrong and are fixed, and routines can be saved by name

Releases in which this page changed, newest last. Derived from the archived copy of every release, not from notes written afterwards — so it reflects what actually shipped. Site-wide passes are left out; they are in the full changelog.