Your bar speed knew you needed a deload before your top set stalled.
The deload you schedule and the deload you stall into are both late. The fatigue was legible weeks earlier, in bar speed, RPE, and heart rate.
The rep that felt heavier than the number
The number on the bar said 315. The rep said something else. Same weight you hit for a clean triple three weeks ago, except today the second rep ground to a near-stop and the third was a grind you would not have filmed. You racked it, sat down, and blamed the sleep. Maybe the sleep was bad. But the bar had been getting slower for two sessions, the warm-up jumps felt heavier than the math allowed, and you had been flat walking through the door all week. The stall did not arrive today. It had been arriving for a while, and you logged every piece of it without reading it back.
Fatigue is legible before it costs you a session
Accumulated fatigue does not hide. It leaks into the parts of the session you already track and the parts your watch already records. Top-set bar speed slows at a load you used to move fast. The same weight starts reading half an RPE point higher than it did at the start of the block. Your heart rate sits elevated through working sets that used to settle. And the soft stuff, sleep, soreness that lingers a day too long, the small drop in wanting to be there, shows up underneath all of it. None of these is decisive alone. Together they are a stack, and the stack tilts a week or two before the bar finally refuses. That window is the whole point: a deload you can see coming is a deload you take on your terms, not one the bar forces on you.
Why the calendar deload and the stall-and-react deload both run late
Most programs hand you one of two rules. Deload every fourth week, on the calendar, regardless of how the block actually went. Or deload when you stall, when the weight stops moving for real. The scheduled version ignores the block in front of you; some cycles earn a deload by week three, some are still climbing in week six, and a fixed date is right by accident. The reactive version waits for proof, and the proof is expensive. By the time a top set has stalled for the second or third consecutive week, you have already trained through the fatigue that caused it, eaten the junk reps, and pushed your bad-rep technique into muscle memory. Both rules are blunt because both wait for a single late signal instead of reading the early ones that were already on the page.
What actually moves first
The fastest indicator is bar speed at a fixed load. Velocity-based training research is built on a simple, repeatable finding: as fatigue accumulates, the speed of a given weight drops before the weight itself stops going up. You feel it as grind; the timer or your eye catches it as a slower bar on the same number. RPE creep is the next layer. A working set that read 7 in week one reads 8 in week four at the same load and rep count, and the gap is the cost of the cycle showing up in your own rating. Heart rate is the layer most lifters never log: elevated resting heart rate on waking, and a heart rate that stays high through working sets and recovers slower between them, both track systemic fatigue. The surrogates, short sleep, soreness that overstays, the quiet drop in motivation, are real inputs, just noisier ones. The discipline is not picking the best single marker. It is watching whether three of the four are pointing the same way.
Reading the stack on a real cycle
Take a lifter four weeks into a 5/3/1 block, bench as the lift in question. Week one, the top single moves fast and reads RPE 8. Week two and three climb as designed. Week four, the prescribed top set is a heavier percentage, fine, but two things happen that the percentage does not explain: the bar on the last warm-up jump is visibly slower than the same warm-up looked in week two, and the working sets read a full point higher than the block average at matched loads. Pull the heart rate from those same sessions and it is sitting five to ten beats above the early-week baseline through the work and dragging between sets. Add a week of light sleep on top. No single number screams. But bar speed, RPE, and heart rate are all leaning the same direction, and they started leaning before the AMRAP set under-delivered. That convergence is the call. Deload week five with one soft session of evidence instead of week seven with three stalled ones behind you.
What changes when you read fatigue early
The lifter who reads the stack does not train fewer hard weeks. They train cleaner ones. A deload taken on the early signal is shorter and lighter than one taken after a multi-week grind, because there is less hole to climb out of. The junk-rep weeks disappear, and with them the bad reps that teach your nervous system the wrong groove under fatigue. Over a year this is the difference between four blocks that each ended in a stall and four blocks that each ended one notch before the stall, deloaded, and started the next climb from a higher floor. Reading fatigue early is not caution. It is how the lifters who are still progressing in year five protect the work the year-one lifters burn through.
The signals you already produce, in one place
The problem with the stack is rarely that the signals are hidden. It is that they live in four places: bar speed in your memory of how the set felt, RPE in a notes field you never compare across weeks, heart rate trapped in a separate fitness app, and sleep somewhere else entirely. Platepusher's job is to put the recordable ones on the same page. Your RPE log carries across the whole cycle, so the creep is a line you can see instead of a feeling you argue with. The watch companion reads your heart rate through working sets, and the heart-rate fatigue signal surfaces when that line drifts up against your own baseline. It does not tell you to deload. It shows you the drift and lets you make the call, because you know your week and your program and the math does not. The instrument reads the cycle back to you. Whether you back off is still yours.
What we are watching next
Heart rate is the most underused of the four signals, and it is also the least settled. Resting heart rate on waking and working-set heart rate are useful precisely because they are involuntary, you cannot talk yourself out of them the way you can talk yourself out of an honest RPE. The open question is how much heart rate variability adds on top of plain heart rate as a recovery read for strength sessions, where the load is anaerobic and the rests are long. That is the next signal we are reading against real lifting logs before we surface anything around it.
Log your cycle in Platepusher and let the RPE line and heart-rate drift show you the deload before the bar does.
Serious lifters already produce every signal in the pre-deload stack: bar speed, RPE, heart rate, sleep. What they rarely have is those signals lined up across a cycle so the drift is visible before the third stalled week. Platepusher carries the RPE log across the whole block and reads working-set heart rate from the watch, then surfaces the drift and stops there.