TL;DR
Save Week is a one-click button that copies last week’s logged loads into next week as targets, recalculates e1RM per main lift, flags multi-week stagnation, and updates the progress chart. It turns the Sunday admin grind into a 12-minute review session. The pattern was originally built by a Reddit user trying to escape Trainerize; we ship it as a built-in Coach Sheet automation.
Where this came from
In late 2024, a working trainer posted in r/personaltraining about building an Apps Script automation for his Sheets-based coaching system. His exact phrasing:
“For the past year, my Sunday routine was an absolute nightmare. I was spending 5-10 hours every weekend just manually copy-pasting last week’s weights for my online clients.”
He built three things: a custom button labelled “Save Week”, a script that auto-grabbed sets/reps/ weights into a master database, and a hover note showing last week’s load alongside the all-time PR.
That post (24 upvotes, 18 comments) was one of six high-relevance threads we surveyed in our 138-post Reddit research. It informed the Save Week feature in Coach Sheet.
What Save Week does
In a sheet structured like a Coach Sheet client file (Workout Plan tab with weekly grids), the Save Week button performs four operations in sequence:
- Copy logged loads forward. For every exercise in the most recent completed week, take the logged load and write it as the target load for the next week’s same exercise.
- Recompute e1RM. For every main lift, recalculate the estimated 1-rep-max using the median of Epley/Brzycki/Lombardi formulas (with RIR adjustment if logged).
- Flag stagnation. If a main lift’s e1RM hasn’t increased in 4+ consecutive weeks, mark the row with a yellow stagnation indicator and write the date the flag fired.
- Update progress charts. Refresh the strength-trend chart in the Strength Progress tab with the new e1RM data point.
The button runs across all clients on the dashboard at once, which is what compresses the “per-client × N clients” Sunday workflow into a single click.
The script structure (high level)
The Apps Script is straightforward. Here’s the pattern in pseudocode:
function saveWeek() {
const clients = listClientFolders(); // Drive folders matching #N pattern
for (const client of clients) {
const sheet = client.getSheetByName('Workout Plan');
const lastWeekRange = findLastCompletedWeek(sheet);
const nextWeekRange = findNextWeek(sheet);
copyLoadsForward(lastWeekRange, nextWeekRange);
updateE1RM(client, lastWeekRange);
flagStagnation(client);
refreshChart(client);
}
showToast('Saved week for ' + clients.length + ' clients');
}
The full script is ~150 lines, mostly handling edge cases: clients on a deload (skip the load forward), clients in test week (apply the test protocol instead), missed weeks (use the last-logged week, not the calendar week). Coach Sheet ships with this logic; you can read or modify it inside the Apps Script editor in Google Sheets.
What makes it different from “auto-fill”
Naive auto-fill is dangerous in coaching. Just copying last week’s loads forward without considering RPE feedback creates a program where the client lifts the same weight forever, or worse, lifts heavier than they should because last week was an RPE 9 grinder.
Save Week handles this by reading the RPE/RIR feedback alongside the load:
- Load logged at RPE 9-10 with no hit on target reps: hold load (or reduce 2.5%)
- Load logged at RPE 7-8 with target reps hit: increase load 2.5-5kg main lifts, 1-2.5kg accessory
- Load logged at RPE ≤6 with target reps exceeded: increase load 5-7.5kg main lifts
- Multi-week stagnation flag: suggest deload or technique check, don’t auto-progress
These rules are configurable per athlete via cells in the Profile tab. Aggressive lifters dial up the increments; novice lifters dial them down. The defaults follow conventions from Helms 2020 and Stronger by Science.
The 12-minute review session
Once Save Week runs, the trainer’s Sunday workflow becomes:
- Run Save Week (1 click, 30 seconds)
- Open the Coach Dashboard, sort by stagnation flags first, then unread comments (1 minute)
- For each flagged client (~5 of 30 clients in a typical week), spend 1-2 minutes:
- Read the Achieved comments from the past week
- Decide: hold, deload, technique cue, change exercise selection
- Override the auto-suggested next week if needed
- For unflagged clients, skim and approve
For a 30-client roster, this is 12-18 minutes. We measured this against the trainers we interviewed who’d built their own version. The original Reddit poster said his system cut his Sundays from 5-10 hours to “about 15 minutes”. The pattern isn’t ours. We’re just shipping it as infrastructure so other trainers don’t have to build it from scratch.
What Save Week deliberately doesn’t do
It doesn’t:
- Generate workouts from scratch. That’s the trainer’s job. Save Week only handles progression of existing programming.
- Decide deloads automatically. It flags stagnation and suggests “consider deload”; the decision stays with the trainer.
- Run silently. Every load it copies forward is visible in the next-week column. The trainer sees what was changed before the client opens the workout.
- Override RPE feedback. If the client logs an RPE 10 grinder, Save Week won’t push the load up. Period.
Trade-offs
The honest trade-offs of this approach:
You’re locked into the schema. Save Week assumes a specific tab structure (Workout Plan with weekly grids, RPE/RIR/Load columns named consistently). Deviating from the schema breaks the script. Coach Sheet’s master template handles this; if you start customising the per-client sheet structure heavily, you’ll need to update the script.
Apps Script has quotas. Google limits script execution to 6 minutes per call and 90 minutes/ day for free accounts. For 50 clients with the standard logic, the full Save Week run takes 45-90 seconds. For 200+ clients you start hitting daily limits and need to batch.
Stagnation detection is conservative. A 4-week-flat e1RM might mean stagnation, or it might mean the client is in a hypertrophy block where 1RM gains aren’t the goal. Save Week flags it; the trainer interprets.
What this means inside Coach Sheet
Save Week is one of the 12 launch features. It’s the killer feature in our positioning because the pain it solves is the most-validated pain in our research: 25-30 trainers across 4 separate Reddit threads mentioned hours-per-week admin time as their #1 frustration with current tools. Five other features (the Onboarding Wizard, Coach Dashboard, Inline Achieved comments) cluster around making this workflow possible.
Sources
- [1]
- [2]