Substitution is where programming time actually goes
The first draft of a program is the easy half. The hours go into the exceptions: the client whose shoulder is cranky this week, the one training at a hotel gym with dumbbells and a bench, the one who is wrecked from a weekend and needs the volume pulled back, the one who just hates lunges. Every “can we not do this one?” is a small re-think, and there are a dozen of them a week.
Most software handles this with a search box. You type “chest”, get forty exercises, and do the thinking yourself. Spotter asks a different question first: why?
How the swap works
- Tap the exercise in the draft or the assigned session.
- Pick the reason. The common ones are one tap: shoulder, knee or low back discomfort, no equipment for it, client dislikes it, too fatiguing right now, or you just want a variation. Anything more specific, type it in a sentence, like “her gym only has a Smith machine”.
- Read the three picks. Each comes with the reason it fits this slot, ranked by how well it keeps what the session was trying to do.
- Choose, edit, or ignore. Take one, change the sets and reps, or drop the row. Nothing is final until you assign the session.
What “ranked by intent” means
A slot in a session has a job. A front squat early in a lower day is not just “a leg exercise”; it is a knee-dominant, bilateral, loaded pattern placed where the client is freshest. A good substitute keeps as much of that as the reason allows. Spotter reasons from:
- The slot’s role: movement pattern, how it is loaded, and where it sits in the session.
- The reason you gave: shoulder discomfort rules out a front rack; no equipment rules out the rack entirely; fatigue argues for less axial load, not a harder variation.
- This client’s constraints: their exclusions, and recent fatigue read from what they have logged.
- Your substitution rules: if you never swap a hinge for a squat, it won’t either.
So for that front squat and a sore shoulder, the picks might be a safety-bar squat if the client has one, a goblet squat with a heavier dumbbell, or a leg press, each with a line saying what it keeps and what it gives up. The exact three depend on the client, the equipment and your rules, which is the point.
When the reason is really an injury. “Shoulder discomfort” covers a lot of ground. If what you type sounds like pain rather than preference, Spotter says so and suggests a referral. It does not play physio, and it will not quietly program around something a clinician should look at.
Why this beats a bigger exercise database
A database answers “what else exists?”. A trainer’s question is “what else does this job, for this person, today?”. Ranking by intent, with the reason spelled out, means you can accept a pick in two seconds or reject it in one, and either way you can explain the session to the client. That explanation is the part of programming that is actually coaching.
The swap is one step in a loop. The draft it edits comes from your profile (see how a draft is built), and the session it produces gets logged by the client and feeds the next one (see adaptive programming).