← Blog· · 9 min read
I trained hard six days in a row and my app said I was fine
My app said six training days in a row were fine. Testing it on my own log showed the design was wrong, not the code, so I changed how it counts stress.
I test every part of Sparlift on my own training first. If the numbers don't match how my training really went, the model isn't done yet, even when the code works perfectly. This post is about one of those tests. My log showed that the way I had designed the whole-body reading didn't fit how people actually train, so I changed the design. It wasn't a bug. My own data showed me what the model should measure.
Here's what happened. From Sunday 27 September to Friday 2 October I trained six days in a row: push, pull, push, pull, push, legs. I'd been training five or six days a week since mid-September, and I could feel it. But on Saturday, the Nervous system view in Sparlift said "Below your usual · 0.6×". The view did exactly what I built it to do, and that was the problem.
I redesigned it twice. The first version said "Recovered · 1 hour". The second said Overloaded after just one week. Three wrong readings, three lessons, and out of them came the model that's in the app today: training stress in %, which builds up over weeks of hard training and comes back down with a lighter week.
The current model, with every formula and source, is in the docs: How Sparlift counts training stress and rest days. This post is the story of how my own data got it there. When the model changes, the docs change too.
Lesson 1: comparing me with my own average misses a long block
The old view compared my last two days with my last three weeks. But I'd been training five or six days a week for weeks, so that was my average. Six days in a row looked normal, and by Saturday it even looked below normal.
Any reading that compares you with your own recent average has this problem. If you train the same amount every day, the short average and the long one end up equal. They show when your training changes, not whether you can keep it up (Impellizzeri et al., 2020). The view worked as designed. The design just couldn't see a long block of hard training.
Lesson 2: use what every log has
My first redesign kept a running score: each session added stress and each night took some away. But it counted a session as effort × minutes, and my log is weak on both:
- Effort. In two weeks, only 15 of my 163 sets had reps in reserve (RIR) logged. Without it, the app had to guess, and it called most of my working sets easy.
- Minutes. My Thursday push day was logged as 39 minutes and my Friday leg day as 34. So Friday counted as a "light day", basically a rest day.
That's how six days in a row ended up as "1 hour" of stress by Saturday. The fix: count what every log has. Now every working set you tick counts, and the clock doesn't matter.
Lesson 3: count in weeks, not days
My second redesign counted sets and took the same amount off every night. Now six normal sessions in a row read Overloaded, even after one hard week. That's wrong the other way: one hard week is just normal training. Doing your weekly sets in three days or in six gives the same results (Saric et al., 2019).
What really wears you down is weeks of it:
- Hard weeks add up. Two weeks of maximum lifts every day made people weaker, and it took weeks to get back to normal training (Fry et al., 2006).
- Lifters plan for it. In a survey of 246 competitive lifters and bodybuilders, every one of them took deload weeks: about 6 days of lighter training every 5–6 weeks (Rogerson et al., 2024).
- A lighter week clears it. Training less for a week or two lets the tiredness go away without losing fitness (Bosquet et al., 2007).
So I wrote down what I'd expect from my own training and tuned the model to match:
- Four sessions a week should stay around 50–70%, for as long as I keep it up.
- Five or six hard sessions a week should reach Overloaded in about 4–6 weeks.
- More than seven a week should get there in 2–3 weeks.
- A deload week should bring Overloaded back down to 0–10%.
The new model in five steps
This is the version from 3 October. The docs always have the latest one.
- Every working set counts. Each set you tick is one unit, a bit more for big lifts (a deadlift 1.4, a curl 0.72). If you log RIR, a set close to failure counts a bit more and an easy one a bit less.
- About 13 sets make one normal session. Half the sets is half a session. Past one session, extra sets add less and less.
- Your last 7 days decide where you're heading. Up to 2.5 sessions a week leave nothing behind. Four sessions head for 60%. Each session above four adds 18 points.
- It goes up slowly and down fast. Every day it moves 3.5% of the way up toward that target, or 60% of the way down. Building up takes weeks; a lighter week clears it.
- Five bands. 0–25% Fresh, 26–50% Normal, 51–75% Carrying fatigue, 76–90% Rest day due, over 90% Overloaded.
| What I expected | What the model does |
|---|---|
| Four a week: 50–70% | 54–59%, week after week |
| Five or six hard a week: Overloaded in 4–6 weeks | 5 hard: 6 weeks · 6 hard: 3.3 weeks |
| More than seven a week: Overloaded in 2–3 weeks | 8 a week: 3.1 weeks · 10 a week: 2 weeks |
| A deload week from Overloaded: 0–10% | 100% → 5% |
My last eight weeks in the app
The chart shows the model doing two things I wanted:
- It drops fast when you ease off. In early September I had a lighter week: three rest days, and two of my four sessions were short (11 and 8 sets). The number fell from 67% on Monday 7 September to 29% on Saturday the 12th.
- It climbs slowly when you train hard. After that, five or six sessions a week pushed it back up by a point or two a day, to 58% this Sunday.
| Morning | Sun 27 | Mon 28 | Tue 29 | Wed 30 | Thu 1 | Fri 2 | Sat 3 | Sun 4 |
|---|---|---|---|---|---|---|---|---|
| Training stress | 48% | 50% | 52% | 53% | 54% | 56% | 57% | 58% |
| Band | Normal | Normal | Carrying | Carrying | Carrying | Carrying | Carrying | Carrying |
| Sessions in the last 7 days | 6.0 | 5.6 | 5.5 | 5.9 | 5.9 | 5.2 | 5.2 | 5.2 |
| Heading for | 96% | 89% | 88% | 94% | 95% | 82% | 82% | 82% |
What one rest day did
Saturday 3 October was a rest day. My muscles show it clearly: on Friday evening the Muscles view had my biceps 31 hours from ready, shoulders 17, chest 13 and triceps 10. By Saturday evening only the biceps had 7 hours left. On Sunday morning everything was Fresh.
The whole-body number stayed where it was: 57% on Saturday, 58% on Sunday, still heading for 82%. That's on purpose. My last 7 days still held the same number of sessions, because Saturday's rest day simply replaced the rest day from the Saturday before. One day off isn't a deload, and it shouldn't look like one. What did change: "easy days to Fresh" went from 4 to 3. A whole lighter week brings the number down, like it did in September.
What's next
If I keep this pace, I'll reach Rest day due around 10 November, about five weeks from now. That's close to the 5–6 weeks between deloads that the lifters in the survey reported.
What I changed: I've put a deload week in my calendar for the week of 9 November: the same lifts, about half the sets. If the number climbs faster, the deload comes sooner, and the app will show me. I've also stopped treating one number on one day as a verdict. What matters is the trend over weeks.
Two smaller fixes from the same week
- Set the workout clock by hand. Forgot to start the workout? Tap the clock and type how long you've been training.
- Finishing shows a summary first. You see what's new, what you removed and which sets weren't done. Then you choose: save and update the routine, save without updating it, or go back to logging.
Start logging, free · The current model, every formula, with the evidence: How Sparlift counts training stress and rest days.
FAQ
When do I need a deload week?
When the view says Overloaded, or Rest day due for a week or more. About a week of light training, for example half the sets of your usual sessions, brings it back under 10%. Many lifters plan one every 5–6 weeks anyway.
Why didn't one rest day lower my training stress?
Because it counts weeks, not days. One rest day rarely changes how many sessions are in your last 7 days, so where you're heading barely moves. Your muscles do recover in a day or two, and you can see that in the Muscles view. The whole-body number comes down after a lighter week.
Do I need rest days if I train every day?
Over weeks, yes. One week of training every day reads Carrying fatigue at most. Normal sessions every day reach Rest day due in about two weeks and Overloaded in about three and a half.
How many sessions a week can I keep up?
Four normal sessions a week stay around 54–59% for as long as you keep them up. Three a week stay Fresh. Each session above four raises where you're heading by 18 points.
Do I need to log RIR?
No. Every working set counts as a normal one. Logging RIR on your hardest sets makes them count a bit more.
Is "nervous system fatigue" real?
Not the way people usually mean it. After heavy training, the part of the tiredness that comes from your nervous system is gone within a day or two. The part that lasts is in your muscles (Thomas et al., 2018). Sparlift's view measures how much training your whole body has taken on, not your nerves.