Training

My Program
Active
Week 1 of 14
7 = standard calendar week. Rolling cycles (e.g. 4 for 3-on/1-off) anchor to the block's start date instead of Mondays.
Week 1
1 / 14
Loading...

0 / 0 done
Draft auto-saved
Viewing logged session — edit values then tap Update Session to save changes
Rest
How Gainzz Works
What Gainzz is

Gainzz is a fast, no-nonsense strength & hypertrophy training log. You build a split, follow it week to week (or cycle to cycle), log your sets, and watch your numbers climb. It works instantly, offline, and keeps your screen awake while you rest.

What it isn’t

It’s not a social feed, and it doesn’t sell your data or show ads. No AI call happens anywhere in the app. If you connect an assistant (see Profile → Connections), it’s your assistant over a revocable token — your data and spend stay yours.

The building blocks

Three ideas run the whole app:

Exercises live in your library. Add, rename, or tag them by muscle group.

Routines (splits) are your training days — e.g. Push / Pull / Legs, each with its exercises and target sets.

Blocks wrap a routine into a training phase with a start date and a length you choose — anything from a quick 4-week push to a long off-season. Finish a block and it’s archived in History so your all-time PRs are never lost.

Schedules & rolling cycles

Your block is a rotation — Push, Pull, Legs, repeat — projected onto the calendar from where you actually are. By default a “week” is a normal 7-day calendar week; set a Cycle Length (in Block Settings, or as a default for new blocks on your Profile) and Gainzz rolls that pattern continuously. Training 3 on, 1 off? Set the cycle to 4 days with 3 training days and the app repeats Push / Pull / Legs / Rest, Push / Pull / Legs / Rest… straight through the block.

Missed days move the schedule. The next unlogged workout anchors to today, whenever you last trained. Skip a week and the plan picks up where you left off — the card you were due to do lands on today, and the rest days you skipped are absorbed by the time off. A small banner above the grid says when something moved and how many sessions were skipped; completed workouts never move and stay in History.

Rearrange a week and the rotation follows. Drag a day card onto another day and the whole rotation reorders from there — every future cycle reflects the new order, not just the one card’s date. Your streak and any deload notice sit at the top of this screen; weekly volume, per-muscle charts and personal records live in History → Progress.

Tip: browse the program library in Training → Block Settings → Complete This Block — 93 programs ranked against your Profile, with the match reasons shown, and a 3-on/1-off cycle is just one of the options.

Logging a workout

Tap a day card to open it, punch in your weight and reps, and tap the circle to complete each set. The moment you complete a set, the rest timer pops full-screen and starts counting — it keeps your phone from sleeping and survives you switching apps or rotating the screen.

RIR (Reps In Reserve) is an optional effort tag on each set: 0 means you went to failure, 4 means you had 4 left in the tank. It helps you judge how hard you’re actually working.

Finish the workout for a summary of sets, volume, and any personal records. Everything saves automatically, even offline.

Nutrition

The Nutrition tab is a full food diary plus an adaptive calorie engine. Log food by tapping the + on any hour in the Diary — search the food database, scan a barcode, or pick from your recent entries — and the diary view shows what you ate and when. Macros are per serving; the amount stepper multiplies them.

The engine estimates your daily expenditure (TDEE) from your logged intake and weigh-ins — energy balance, smoothed over a 28-day window. The card always says where the number came from: Adaptive (from your data — the percentage is the share of the answer that came from your own intake and weigh-ins rather than from body weight × 15, and the ± figure is the estimate’s error band), Manual (you pinned it; the app still tracks what your data suggests underneath), or Baseline (body weight × 15 — a rule of thumb until about a week of intake is logged, shown with its own ±15%). A wide band is normal early: it narrows as logged intake days and weigh-ins accumulate — not as settings change, because a shorter window widens the band instead of speeding the estimate up.

Phases drive the target: pick Cut, Maintain or Bulk and a weekly rate — or let a goal weight and date drive the rate instead (the By-rate / By-date switch). The rate is capped at what preserves muscle, and an incoherent goal (cutting toward a weight above you) is refused, not quietly ignored.

Your data — export the full diary or any single piece from the Your data screen (the Data button in the header, also reachable from Training → Block Settings). The reset ladder lives there too: re-seed the estimator, clear nutrition history, clear training history, or delete everything — each step farther from normal, each asking before it acts.

Custom foods — the food log has three tabs: Search · Quick Add · Custom. Save a food you log often (name, brand, serving, macros) once in the Custom tab, then tap it any time to log it — quantity, time and meal work exactly like any other food. Edit, two-tap delete, or Share a saved food: the share text carries a human-readable summary plus a GZF1. token, so the recipient can paste it into their own Custom tab — a preview shows what you’re importing, and you confirm before it saves.

Swipes & shortcuts

Swipe a set row right to complete it, left to undo — faster than aiming for the circle mid-set.

Swipe the Schedule left/right to move between weeks (or cycles).

Swipe inside History left/right to step through By Week → By Exercise → Progress. The Progress view charts your estimated 1RM per exercise and weekly hard sets per muscle group — the numbers worth watching, drawn for you.

Swipe the rest timer down to drop back to your workout — the timer keeps running.

On a keyboard — Tab moves between day cards and controls, Enter or Space activates them, and Esc closes any full-screen overlay (rest timer, workout summary, dialogs). If your device is set to reduce motion, Gainzz drops its animations to match.

Profile & programs

The Profile tab is your athlete facts and your connections, in one page: born, height, current weight (read-only — it links to the one weigh-in editor), bodyfat, gender, training goals, injuries, preferences, days per week and equipment, plus the defaults new blocks inherit (block length, cycle length, exercise variety). Under Connections you can generate the MCP token a connected assistant authenticates with.

Programs — the deterministic browser in Training → Block Settings → Complete This Block ranks 93 programs against your Profile and shows the match reasons (days per week, equipment, experience). Zero model calls, works offline, and picking one opens a preview you approve before anything changes.

No AI in the app — every AI surface (chat, quick log, check-ins, debriefs, split generation, the docs assistant, API keys) is deliberately frozen: the code is kept, no door opens it. This page is a reference document, not a chat.

Connecting an assistant

Gainzz doesn’t call any AI itself. If you want an assistant to read your logs or update your plan, connect one over MCP — your account, your token, revocable any time.

1. Open the Profile tab → ConnectionsGenerate MCP Token.
2. In your assistant, add Gainzz’s MCP endpoint as a custom connector (claude.ai → Settings → Connectors → Add custom connector).
3. Set a custom request header Authorization: Bearer gz_mcp_… with your token — that is how the assistant authenticates.

Fill out the athlete profile (goals, injuries, days per week, equipment, preferred block length) so any advice — from the program browser or a connected assistant — is specific to you.

Desktop & mobile control (MCP)

Gainzz runs a hosted MCP server that an AI assistant (Claude, ChatGPT…, on desktop or phone) can reach over HTTPS — authenticated by your scoped, revocable token. Nothing is installed locally, and there is no server to download.

1. Generate a token — Profile tab → Connections → Generate MCP Token. Copy it (looks like gz_mcp_…). Generating a new one revokes the old.

2. Add the connector — in claude.ai (Settings → Connectors → Add custom connector) or ChatGPT’s MCP settings, paste the MCP URL and add a custom request header Authorization: Bearer gz_mcp_… with your token. Connectors added on the web sync to the mobile apps.

The MCP URL is https://mcp.gainzz.net

3. Use it — the assistant can read your routine, history, body-weight, and nutrition (the diary, weekly intake summaries, and your current expenditure estimate), and log or adjust workouts, log food, and set your nutrition phase. It can also set your athlete profile, activate a routine, or start a new block — but the schedule-changing and diary-writing tools are confirmation-gated: the assistant must show you a preview of exactly what will change and get your explicit yes before anything happens.

The token is scoped to your data only — it can read and write workouts, body weight, config and the food diary, and delete a single logged workout. It cannot wipe the diary or training history, delete the account, mint or revoke tokens, touch your AI key, Coach memory, or food-search credits. Treat it like a password; regenerate any time to rotate.

Sync, offline & privacy

Your data lives in your own private cloud space, keyed to your sign-in. Log in on any device and it’s all there — edits merge intelligently, so a change on your phone won’t clobber one on your laptop.

No signal at the gym? No problem. Gainzz is a full offline app — log everything, and it syncs the moment you’re back online.

Backups — the Data button in the header opens Your data (also reachable via Training → Block Settings), which downloads your entire account as one JSON file: every workout, your routines, body weight, exercise library, nutrition diary, and the Coach’s long-term memory. You can also export any single piece — workouts, exercises, nutrition, or body weight alone — plus the exercise library’s own JSON and snippet formats. Import restores a full backup or any piece. Take one occasionally — it’s your copy of your training life.

Just updated the app and something looks off? Open it twice (a fresh version installs on the second open), and if a device is still stale, clear its site data to re-pull a clean copy.

Diagnostics

The app quietly keeps the last 20 errors it hits on this device — nothing is ever sent anywhere. If something misbehaves mid-workout, check here afterwards (the log also rides along in your JSON backup).

App looks empty? Check the Signed in as line below first. Your data is stored per account — signing in with a different email than usual shows a brand-new, empty app. Nothing is lost; sign back in with your usual address and it all returns.

From your body-weight log ·
Free text, and optional.
Optional. These make advice specific to you — whether that’s this app suggesting a program, or an AI assistant you’ve connected.
7 = calendar week · 4 = rolling 3-on/1-off, etc. New blocks inherit this.
1 = same exercises all block · 5 = rotate constantly.
Your Data
Full backup
Everything on this account — workouts, block/routine settings, exercise library, body weight, nutrition diary, and coach memory — as one JSON file you can import anywhere. It's your data; take it.
Export one piece
Same JSON format, one domain per file — restore it later or move it somewhere else. No friction, no upsell: it's yours.
Restore
Import a full backup or any single piece — matching records are replaced, everything else is added. Works offline-free; you need a connection.
Exercise library files
Export the library as JSON, import one back, or share a single exercise as a snippet — same format as the full backup's exercise slice.
Danger zone — none of these can be undone
Clear nutrition history
Deletes every diary entry on this account. Settings, weigh-ins and your exercise library are kept.
Clear training history
Deletes every logged workout session on this account. Routines, blocks, settings and your exercise library are kept.
Delete everything
Permanently deletes the entire account — workouts, routines, settings, coach memory, and your server-side backups.
Changes here update your split template. Adding, removing, or reordering days shows up on every week of a block running this split; changes to a day's exercises apply only to weeks you haven't opened yet. Your logged workouts, per-week exercise tweaks, renames, and custom dates are never touched.
Workout logged
0
Sets Done
0
Volume (lbs)
0
PRs
Rest
1:30
Tap anywhere to close
New version ready