A Spreadsheet That Still Works in Ten Years
The free protocol tracker — six sheets, live formulas, no account, no subscription, no app that gets discontinued.
Every fitness app eventually does one of three things: adds a subscription, gets acquired and shut down, or changes into something you didn't want. Your training history is the most valuable data you own, and it ends up hostage to a company's roadmap.
So this is a spreadsheet. Download it here — no account, no email, no subscription.
What's in it
Setup — enter bodyweight, height, body fat estimate, activity level and phase. Everything downstream computes from those five cells: lean body mass, FFMI, BMR, maintenance calories, target calories, and a full macro split. Change the phase dropdown from Lean gain to Cut and every number updates.
Daily — weight and sleep each morning. Column C computes the 7-day rolling average automatically, and that's the number you read. Daily weight is water, glycogen and gut content; reacting to it is reacting to noise.
Training log — one row per working set: date, session, muscle, exercise, set, load, reps, RIR. Estimated 1RM computes via the Epley formula as a progression signal (not a max to go attempt). Dropdowns for session and muscle so the data stays clean enough to actually filter later.
Weekly review — hard sets per muscle against the 12–15 target, average weight, change versus last week, waist measurement, sessions completed. Two minutes, once a week.
Benchmarks — strength standards as ratios to bodyweight, so your target rises as you do. Enter your current 1RM and it shows what percentage of the elite standard you're at. Plus the quarterly bloodwork panel with reference, optimal and elite columns.
Three things it's opinionated about
It reads the rolling average, not the day. The daily weight cell exists only to feed the average. This is the single most common tracking mistake and the spreadsheet just removes the option.
Strength targets are ratios, not fixed numbers. A 125 kg bench is 1.6× bodyweight at 78 kg — past advanced, short of the 2.0× elite marker. As you gain weight the target rises with you, which is intentional and mildly annoying.
Protein automatically rises in a deficit. Set the phase to Cut and the protein target jumps from 2.0 to 2.6 g/kg, because that's what the evidence says protects lean mass when energy is short.
What it deliberately doesn't do
No streaks. No badges. No social feed. No AI coach. No notification telling you that you're falling behind.
The feedback loop in training is: log the set, look at last week, try to beat it. Everything layered on top of that is engagement design, and engagement design optimises for the app's retention rather than your outcome.
The honest limitation
A spreadsheet won't remind you. It has no notifications and it will not nag. If you're someone who needs external prompting to train, an app with a streak counter genuinely might serve you better, and that's a real argument.
What a spreadsheet gives you instead is ownership. It opens in Excel, Numbers, Google Sheets and LibreOffice. It works offline. Nobody can start charging for it, sunset it, or decide the feature you rely on isn't strategic any more.
In ten years you'll still have every set you ever logged.
This is one piece of a larger system. The full protocol — every mechanism, every dose, every source tier, and an append-only record of everything it has gotten wrong — is at /protocol. The training system this comes from is at /protocol/hypertrophy, and the free tracking spreadsheet is here.
More writing
One Kinase, Two Answers
Endurance training and hypertrophy don't merely compete for time. They send opposing instructions to the same signalling node, and the conflict has a name: AMPK. Here's what it actually does, how big the effect is, and how to schedule around it.
Measurement Without a Decision Is a Hobby
More data makes the signal-to-noise problem worse, not better, unless the analysis accounts for it. A counterweight to my own tracking article, and the rule that decides whether a metric earns its place.