Session tonnage hides the one lift that's about to stall.
Two blocks can post the same total tonnage while one quietly cooks a single lift into a stall. The per-exercise volume curve is where it shows up first.
Two lifters, one graph, opposite outcomes
Two lifters close out a six-week block with the same line on the tonnage graph. Same total weight moved, same four days a week, same grind logged. One added weight to every main lift and walked into the next block stronger. The other kept the squat flat for three weeks, kept pushing anyway, and felt something go in the low back on the fourth.
Look at their session totals side by side and you can't tell them apart. The number that was supposed to summarize the block hid the one thing that mattered inside it. The stall didn't live in the total. It lived in a single lift's volume curve, climbing while everything else held steady.
Volume is a per-movement signal, not a daily total
Call it the aggregation tax. Every time you roll the day's work into one tonnage number, you pay it. The squat, the bench, the rows, three accessories, all flattened into a single bar. That bar tells you the session happened and roughly how much you moved. It can't tell you which movement is accumulating faster than you can recover from, because averaging is exactly the operation that erases that.
Session tonnage is the wrong unit because the thing you're trying to catch, a plateau or an overuse spike, is a property of one movement over time, and you've summed it away before you ever look at it.
A block doesn't stall. A lift stalls, and the block takes the blame.
The tonnage-versus-sets debate argues the wrong axis
Most volume arguments online are about which metric to count. Tonnage, or hard sets, or reps in a rep range. Both camps have a case, and both miss the same thing: they argue about what to count while keeping the resolution fixed at the whole session. Switch from tonnage to hard sets and you still get one number per training day. You changed the unit of measure and kept the unit of aggregation.
The distinction that predicts stalls isn't tonnage versus sets. It's session versus movement. Count whatever you want, but count it per lift, across weeks. A weekly hard-set total for your whole body and a weekly hard-set total for the squat alone are two completely different datasets, and only one of them shows the squat quietly running away from your recovery.
What the trackers actually show you
The demand for this is already sitting in public. Comb the fitness-tracker forums, Garmin Connect's among them, and you'll find lifters asking for total volume per exercise over time as a named missing feature. Not aggregate annual tonnage, which several apps do surface. The per-movement curve.
Line up what the common trackers put in front of you against what that curve would reveal and the gap is plain. Strong, Hevy, Jefit, and Fitbod all lead with the session summary and, at best, a muscle-group volume estimate. Fine for a glance. Blind to the question of which single lift is driving this block's numbers up, and whether that increase is the one you programmed.
What most trackers surface
What the per-exercise volume curve shows
One session-tonnage line per day
One volume line per movement across the block
Weekly hard-set count, sometimes by muscle group
Set-and-rep volume trend for squat, bench, deadlift, each accessory
An 'up this week' summary on the aggregate
Which single lift drove the increase, and which stayed flat
A deload as a lighter week on the total
Whether the deload actually reduced load on the lift you meant to rest
Category observation across common strength trackers (Strong, Hevy, Jefit, Fitbod). Session-level vs per-movement resolution.
Two blocks, one stalled lift
Run the tape on the pair from the top. Both blocks post nearly identical session tonnage week to week. Pull the squat out on its own and the picture separates. In the block that stalled, squat volume climbed roughly forty percent over the first six weeks while bench and deadlift volume sat flat. The total looked stable because the deadlift's steadiness masked the squat's spike, one lift rising while the average held.
Now check the deload. On the aggregate line, week five dips the way a deload should. On the squat's own line, it doesn't. Load came off the accessories and the pressing while the squat kept accumulating, so the movement you most needed to rest never actually rested. The tweak on week seven wasn't bad luck. It was legible three weeks earlier, on a chart nobody was drawing.
The spike is an injury signal, not just a stall signal
A single movement's volume climbing faster than the rest of the session isn't only how a plateau starts. It's how an overuse tweak starts. The flat performance and the strain trace back to the same per-lift curve, which is why the session total sees neither one coming.
What you catch when the unit shrinks
Shrink the unit from session to movement and three things become visible that weren't before. The stall shows up on the first flat week of the lift that's stalling, not on the third week when the whole block finally sags. Planned deloads become checkable, so you can see whether the load actually came off the movement you meant to rest or just moved around inside the session. And asymmetries surface early, the squat pulling ahead of the bench, one side of a push-pull creeping past what the other can support.
None of that needs a coach reading tea leaves. It's arithmetic you already generated, plotted at the resolution where it means something.
The curve was always in your log
Every set you've recorded already contains the per-exercise volume curve. The only question is whether anything plots it. Platepusher draws each movement's volume over the cycle, one line per lift, next to its own history, so the squat's trend sits beside the squat's past instead of buried in a daily sum. The math runs while you rest between sets.
Nothing here tells you to deload. The chart shows the accumulation and the flat weeks, and you read it the way you'd read a top set that stopped moving. That's the posture: hand the lifter back the signal their own work recorded, at the granularity where a stall is still early enough to act on.
See every lift's volume curve, plotted from your own log.
Serious lifters already generate this data every session; the gap is resolution, not effort. Platepusher plots each lift's volume across the block from the log you're already keeping, one line per movement, no extra input.