For athletes who coach themselves

Find what's actually holding you back.

Zeroed names your limiter, says how sure it is, and builds every session around it. Each set you log is evidence. The read sharpens, the cap lifts, the load goes up.

Your first read takes about 30 seconds. Runs in the browser and installs to your home screen. iPhone app in progress.

Your first read35%

Most likely first limiter: eccentric / landing control.

Hypothesis · P1 · Lower Chain

How it works

One loop. Every week.

Most apps log what you did. Zeroed decides what you do next, and shows its working.

  1. Get a read

    Tell it what you want to be able to do and where it falls apart. Out comes a ranked read on your limiter, with a confidence number.

  2. Train the week

    Your week is a ring and a list. Start any session, in any order. Every lift opens with today's number and the reason for it.

  3. Log the evidence

    One tap per set. RPE on a tap scale. Flag a tweak, write a line at the end. The read moves up or down.

  4. Take the call

    Close the week and get PROGRESS, HOLD or DELOAD, with the reason written out. Next week follows from it.

Every four weeks, a retest re-scopes the block: Stability → Strength → Power → Sport.

The Train screen: this week, two of four sessions logged, Lower B up next with a Start session button.

The read

Every set is evidence.

The read isn't a quiz result. It's a claim about you that your training can confirm or knock down. The reticle's tightness is that confidence: no timer, no theatre.

  1. First read · before you sign up

    A hypothesis, not a verdict.

    Pick what you want to be able to do (a sport, a number, your body, staying healthy, an event) and where it gives out. Zeroed names the most likely limiter and how sure it is. It starts modest on purpose: it hasn't watched you train yet.

    P1 · 35% · hypothesis

  2. Session 1 · debrief

    “Left knee caved on the last split squat set.”

    Your end-of-session note gets read and classified: confirming, moderate. The model only names the direction. The code sets the step.

    confirming · moderate · +0.10

  3. Session 3 · flag

    Tweak, on the lift under test.

    Flag a tweak or pain on the clearance lift and the limiter gets re-confirmed: the biggest step one observation can take. The test restarts, and that lift doesn't push next week.

    confirming · strong · +0.15

  4. Session 5 · the capped work

    Two top sets at RPE 8. No pain.

    Evidence cuts both ways. A strong, pain-free session on the work the read was capping counts against it, and banks one of the two sessions that clear the cap. One more like that and the cap comes off.

    clearance · 1/2 banked · −0.15

No single observation moves the read more than 15 points. Statuses run hypothesis → likely → confirmed, or resolved and disproved. The model classifies; the code does the math.

In the session

A coach's reasoning, on the gym floor.

01 — Today's number

Every lift shows its number. And its working.

Squat, bench, deadlift and press each get a call (push, hold, drop or repeat) and a load rounded to plates you own. The training max comes off the RPE chart, not a guess, and every number carries its reason line. Tap Why for the rest.

  • Training max is 90% of a working max built from qualifying sets: 1–6 reps at RPE 6–9.5, last six weeks, recency-weighted.
  • Your all-time best is a ceiling, not a target. Nothing goes more than 2.5% over it, except on a test day.
  • Back-offs follow the top set. A point heavy takes 5% off; a point light adds 2.5% upper body, 5% lower.
  • Short on sleep or readiness under 5? Today drops 5% and RPE caps at 7. A sore knee takes 10% off squats, lunges and jumps.
The workout screen during Back Squat. The chip reads "Push · 235lb × 5 @8" with the reason "235 = 94% of TM 250". Set one is logged at 235 for 5 at RPE 9 and marked as a PR, so the back-off sets drop 5% to 225. A three-minute rest timer is running.

02 — The load cap

A cap that tells you how to lift it.

While your top limiter is unresolved, Zeroed holds load on the work that trains it. It doesn't shift volume quietly. It says so in the session, then names the exact test that clears it.

  • The rule has a name: Never load over instability. It only bites while the read is at least 30% sure.
  • The way out is specific: 2 top sets at RPE 8+, pain-free, across 2 sessions on one named lift.
  • Ready before the test says so? Push it aims at the uncapped number. A pushed set that lands clean counts toward clearing.
The load cap in a session: a card titled "Never load over instability" explains the Lower Chain limiter is 60% confident, with one of two clearance sessions banked. Below, Bulgarian Split Squat is held at 50 lb with a Push it button.

03 — The weekly call

Progress, hold or deload. With the reason.

Close the week when you're done, or it closes itself once Sunday's over. Zeroed checks your adherence, your RPE against the block's own contract, and your pain flags, then makes the call and writes down why.

  • PROGRESS takes 80% adherence, average RPE at or under target, and zero pain flags. That adds 5%.
  • DELOAD fires on two pain flags, or RPE half a point past the block's ceiling. Load comes down 10%.
  • Injured or taking time off? Say so, and the next week is recovery. The engine never guesses that for you.
  • Each main lift still gets its own call from its own top sets, so one bad day on bench doesn't hold back your squat.
The weekly recap: next week's call is PROGRESS, plus 5% load, because adherence was 100% and average RPE 7.5 against a target of 8 with no pain. Four of four sessions, 58 sets, 41,850 lb moved.

04 — Change the program

Steer the program in plain words.

Want explosiveness for basketball, a short HIIT day, more hypertrophy volume? Say it. Each message edits the same working draft, and the week marks itself up live: what's added, retuned or dropped, and what each session now costs in minutes.

  • Additive by default. Nothing is removed unless you ask, and every refused edit says why.
  • Undo one turn at a time. Nothing is written until you tap Apply.
  • Choose when it lands: start now, or Monday, leaving this week's logs untouched.
  • Your words are kept as a standing preference, so the next block doesn't quietly drop them.
Changing the program in conversation. The athlete asks to add basketball explosiveness. The coach adds a box jump, a med-ball throw and a lateral bound, retunes the Romanian deadlift to 3 by 6, and shows Lower A growing from 48 to 57 minutes, with Apply and Undo buttons.

The finish line counts what you did.

Example session · Lower A

17sets
9,840lb moved
54min

PRBack Squat

Finish a session and the check locks on, the numbers count up, any record gets named. Then it gets out of the way. No streaks, no badges invented to bring you back. Only numbers you actually produced. (The figures above are an illustration, not anyone's real log.)

Built for the gym floor

Fast with a chalked thumb. Fine with no signal.

Logs with no signal

A finished session saves on your phone before it touches the network, counts on your week instantly, and syncs when you're back. One bad upload never holds up the rest.

One tap repeats a set

The check carries your last numbers into the empty fields, and the dimmed placeholder shows exactly what it will log. Tap targets are built for a bar in your hands.

Rest sized to the lift

Completing a set starts the clock: three minutes for a main lift in a strength block, 60–90 seconds for accessories. Plus or minus 30 when you know better.

A check-in that moves numbers

Sleep, readiness, both knees. Optional, folded to one line, and it actually changes today's loads instead of just being filed.

Swaps and demos

Swap any movement for a ranked stand-in that fits the pattern and your equipment. Main lifts and jumps come with animated demos, how-to steps and faults to watch for.

History that answers back

Every session by week, every lift's e1RM trend with PRs on the day they happened, and a balance read against your own lifts, not a population chart.

Bring your own assistant

Talk through your log in Claude.

Zeroed runs a remote MCP server, so Claude can read your training and propose program edits. It sees one athlete: the one your token belongs to.

Reads

  • get_training_brief
  • get_athlete
  • get_insights
  • get_current_program
  • list_workouts
  • get_workout
  • search_lifts
  • get_lift_model
  • get_program_journey
  • get_coach_notes
  • preview_program_edits

Your week, your read, every logged session, per-lift e1RM trends, the lift model's reason lines, and the coach's notes.

Writes, only with confirm

  • apply_program_edits
  • set_training_max

Preview first, then apply. Claude shows the diff from preview_program_edits, and nothing is written until it calls back with confirm=true after you agree. The live week is re-read on apply, so a stale preview can't overwrite a newer in-app edit.

Claude: claude.ai and Claude Desktop, on Pro or Max

  1. In Zeroed, open You → Claude connector. Name a token (say, “Claude”), tap Create, then Copy URL + token. It's shown once; Zeroed only keeps a hash.
  2. In Claude: Customize → Connectors → + Add → Add custom connector.
  3. Name it Zeroed, paste the server URL you copied from the app, and hit Continue.
  4. Authentication: No sign in.
  5. Under Request headers, add header name authorization with value Bearer YOUR_ZEROED_TOKEN, then Add.
  6. Enable Zeroed in a chat and ask: “What's on my training week?”

Claude's Request headers option is in beta and not on every account yet. On Team or Enterprise plans, an Owner adds the connector under Organization settings → Connectors.

Alternative: Claude Desktop config file

Needs Node.js. In Claude Desktop open Settings → Developer → Edit Config and add the server below, using the URL from the app. Then fully quit Claude Desktop and reopen it.

{
  "mcpServers": {
    "zeroed": {
      "command": "npx",
      "args": [
        "-y", "mcp-remote",
        "<server URL from the app>",
        "--header", "Authorization: Bearer YOUR_ZEROED_TOKEN"
      ]
    }
  }
}

Revoke a token any time from the same screen. Tokens are rate-limited per key. Never paste a real token anywhere public.

ChatGPT Coming soon

ChatGPT's custom MCP connectors only support OAuth or no authentication. Zeroed authenticates with a personal bearer token in a request header, so there's nowhere to put it yet.

ChatGPT support arrives when Zeroed adds OAuth. Until then, Claude is the way in.

Stop guessing.
Zero in.

Get your read in about 30 seconds, then your first session. No password. A code lands in your inbox.

Open Zeroed

Works in any modern browser; add it to your home screen. iPhone app in progress.