Week planner for shift workers
Set out next week's shifts, say how many hours you have, and get a week of sessions placed where they actually fit — with one line under each day explaining why it is there. It uses the rules, runs entirely in your browser, and nothing you type is sent anywhere.
Next week's shifts
These only change today. Nobody knows next Thursday's Body Battery, so the rest of the week is the plan and gets adjusted on the morning, the same way.
Take the week with you
One file per session, saved a third of a second apart so your browser does not block them. Rest days are skipped.
How it decides
Three of the four layers from the rules can be applied to a week in advance. The fourth cannot, and pretending otherwise would be the easiest way to make this useless.
- The shift sets the size of the day. An afternoon shift leaves a free morning after a full night of sleep, so that is where quality goes. An early shift leaves an evening, so a short session fits but the long ride does not. A 12-hour day holds nothing.
- What comes next changes today. The day before a run of nights is endurance only, the longest ride stays out of the three days before a block, and the two days after one carry no intensity.
- Two quality sessions, never on consecutive days. More than that does not survive a rotating roster, whatever the plan on paper says.
- This morning's numbers only change this morning. Tick the box and the first day is adjusted by the signal count — the rest of the week is adjusted on the day, by you.
Why not just use a training plan?
Because a plan says "Tuesday: threshold" and your Tuesday is a night shift. Every structured plan on the market assumes the week repeats, and the moment it does not, you are improvising — which in practice means doing the hard session on the wrong day and then wondering why the next one felt terrible.
This does the improvising in advance, with rules instead of mood. It will not out-think a coach who knows you. It will beat a plan that thinks every Tuesday is the same Tuesday.
The reasoning behind every rule, including one I tested against a week of my own watch data and had to throw out, is on the rules page.