cat body-heatmap-training-balance.md
The Body Heatmap: Spotting a Lopsided Week at a Glance
Your memory of the week is wrong
Ask a lifter what they trained this week and you’ll get the highlights: the heavy bench, the squat PR attempt, the arm pump on Friday. Ask what they didn’t train and you get silence — nobody remembers an absence. That’s exactly how hamstrings go three weeks without a single set while you’d swear your program is balanced.
A workout list doesn’t fix this. Scanning ten sessions and mentally summing sets per muscle is work your brain refuses to do. A silhouette with colored regions does it in one glance — which is why Repsheet draws one instead of another bar chart.
How it’s computed, precisely
No magic score. Each muscle region on the silhouette is shaded by the training volume — weight × reps of every completed set — that landed on that muscle group over the last 30 days. The scale is then normalized to you: your most-trained group gets the deepest red, and every other group is shaded relative to it, in five discrete bands — each step is roughly 20% of your top group’s volume, from pale orange to deep red. A group with no logged sets in the window isn’t shaded at all; it sits in the untrained grey of the silhouette.
Two consequences follow, and both matter for reading it:
- The scale is relative to you, not to some ideal. Deep red means “your most-trained group,” not “enough.”
- The window is fixed at the last 30 days. The map always answers “where has my volume gone this past month” — not this week, not this year. A hard block on one muscle fades out of the picture once it’s more than 30 days behind you.
Reading the 30-day window
Thirty days is long enough to smooth out a single odd week and short enough to still feel current. A pale region here didn’t get much volume over the last month — and a month is long enough that pale is a pattern, not the normal light week every program builds in for a given muscle. This is the view where “I train legs, just not this week” quietly goes to die: four weeks of “not this week” is just not training legs.
The classic skews
The map keeps showing the same three pictures:
Mirror bias. Chest and arms deep red, back at 40–60%, hamstrings ghostly. You train what you see. The fix isn’t complicated, but nobody applies it until the silhouette makes the asymmetry embarrassing.
“Legs are tomorrow.” On any given day there’s always a reason. Across a rolling month, though, tomorrow visibly never came — the legs region just stays pale.
Core by assumption. “Squats and deadlifts hit core anyway.” Maybe — but the map only shades work you logged directly to the core group, and for most people that’s zero. Whether indirect work covers it is a real debate; zero direct sets for a quarter is at least a fact you now know. How to count indirect work is its own topic — covered in the volume post.
What to do with a pale region
Add 3–4 direct sets per week to the pale group and change nothing else. Don’t add more to the red regions — they’re red because they’re already winning.
Then check the number behind the color: the stats screen shows volume by muscle group over 30 days in kg. The heatmap tells you where the imbalance is; the kg figure tells you how big it actually is.
Where it will mislead you
Honesty section — the map has three blind spots:
- It measures volume, not effort. Weight × reps rewards heavier and higher-rep work, but two sets of the same weight and reps shade identically whether you left five reps in the tank or none — and completed warm-up sets add their (small) volume too. The map measures work done, not how hard it was.
- Relative scaling hides low weeks. If everything drops — vacation, illness, a deload — the shape of the map stays the same, because your top group is still your top group. The heatmap shows balance; for amount, look at the 8-week volume chart next to it.
- The buckets are coarse. Every exercise logs to one muscle group, and “legs” is a single group — a quad-dominant program with no hamstring work still paints legs red. For imbalances inside a group, per-exercise history is the tool, not the silhouette.
The habit
Once a week, ten seconds: open the heatmap, look for what’s pale, ask whether that’s a choice or an accident. Most weeks it’s a choice and you close the app. The weeks it’s an accident are the ones that were quietly costing you months.