The method
The program
Uppies uses an adapted training template inspired by Greyskull LP and Phrak’s popular community variant, with the schedule and progression rules explained here.
What Greyskull LP is
Greyskull LP is a linear progression program: you train three days a week, and every time you hit your rep target on a lift, the next session prescribes a little more weight. It's built for novice and early-intermediate lifters — the stage where you can still add weight almost every session, so the fastest way to get strong is simply to keep showing up and letting the numbers climb.
The app’s lift pairing and working-set structure draw particularly from Phrak’s Greyskull LP variant, while Uppies adds alternating arm work and weekly core/accessory work. Its calculation engine began as a port of the Greyskull Linear Progression Program (2020 v2.1) spreadsheet from LiftVault and was verified against that workbook cell for cell, reproducing all 272 computed working weights and warm-ups across the sheet’s 24 sessions exactly.
The app makes three deliberate corrections to the spreadsheet’s formulas:
- Blank is not zero. The sheet’s main-lift formula treats an empty rep cell and a logged 0 identically — both add weight. In Uppies, no entry follows the unlogged planning projection (one increment for a main lift, or a hold for an accessory), while an explicitly logged and confirmed 0 counts as a failure and deloads. A session you haven't done yet and a session where you got zero reps are not the same thing.
- Bicep Curl reads its own rep target. The sheet's curl formula compares your reps against the Tricep Extension's target — a copy-paste bug that's invisible only because both default to 12. Uppies fixes it.
- Barbell lifts never go below the bar. The sheet's deload math will happily prescribe a 12.5 lb "barbell" bench, which no bar can weigh. In Uppies, barbell prescriptions floor at your configured bar weight — the empty bar is the lightest set there is — and progression resumes from the bar.
Uppies is independently developed and is not affiliated with or endorsed by Greyskull Nation or the creator of Greyskull LP. If you want to learn more from the original source, the official Greyskull LP book is available here.
The week
Each session works five blocks: Press, Pull, Legs, Arms, and Core. Each block rotates between two lifts, but on two different schedules:
- Press, Pull, and Arms alternate every session — A/B/A one week, B/A/B the next. That's what produces the classic Greyskull pattern of benching three times one week and pressing three times the next.
- Legs and Core rotate weekly — the second lift always lands on day 2, so you deadlift (and shrug) once a week, on the middle day.
Here are the first two weeks in full. The pattern repeats from week 3.
| Session | Press | Pull | Legs | Arms | Core |
|---|---|---|---|---|---|
| Week 1, Day 1 | Bench | Row | Squat | Tricep Ext. | Ab Rollout |
| Week 1, Day 2 | OHP | Chin-up | Deadlift | Bicep Curl | Shrug |
| Week 1, Day 3 | Bench | Row | Squat | Tricep Ext. | Ab Rollout |
| Week 2, Day 1 | OHP | Chin-up | Squat | Bicep Curl | Ab Rollout |
| Week 2, Day 2 | Bench | Row | Deadlift | Tricep Ext. | Shrug |
| Week 2, Day 3 | OHP | Chin-up | Squat | Bicep Curl | Ab Rollout |
That's ten lifts in all: Bench, OHP, Squat, Deadlift, Row, Chin-up, Tricep Extension, Bicep Curl, Ab Rollout, and Shrug. Each lift progresses on its own chain — Bench's weight depends only on how Bench went last time, never on how OHP is doing.
Sets and the AMRAP final set
Every lift uses the same shape: straight sets at the rep target, then a final set where you do as many reps as possible (AMRAP) — shown in the app as "5+" or "12+".
| Lifts | Working sets |
|---|---|
| Bench, OHP, Squat, Row, Chin-up | 2 × 5, then 1 × 5+ |
| Deadlift | 1 × 5+ only |
| Tricep Ext., Bicep Curl, Ab Rollout, Shrug | 2 × 12, then 1 × 12+ |
The deadlift really is a single AMRAP working set — one heavy pull a week is plenty of lower-back work on top of three squat days.
The final set drives everything. Only the AMRAP set's reps are read by the progression rules; the earlier straight sets are logged but never feed a formula. Treat AMRAP as “as many good reps as possible”: keep roughly 1–2 crisp reps in reserve, and stop if form breaks down or bar speed slows markedly. The result determines whether you progress normally, jump ahead, or back off without turning every workout into a true max-effort test.
Reps you type stay a draft until you check off the final working set. Progression only uses confirmed results — see Using the app for how logging works.
Progression rules
Main lifts (Bench, OHP, Squat, Deadlift, Row, Chin-up) and accessories (Tricep Extension, Bicep Curl, Ab Rollout, Shrug) follow different rules.
Main lifts
Compare the final set's reps to the target (default 5). Meet it and the weight goes up by the lift's increment. Reach double the target and it goes up by twice the increment. Miss it and the weight drops 10%. With Bench at 100 lb, a 2.5 lb increment, and a target of 5:
| Final-set reps | Rule | Next Bench session |
|---|---|---|
| 4 (miss) | × 0.9 deload | 90 lb |
| 5–9 (met) | + increment | 102.5 lb |
| 10 or more (double) | + 2 × increment | 105 lb |
Every result is snapped to the lift's rounding (2.5 lb or 1.25 kg by default), so prescriptions always land on weights you can actually load.
Accessories
Accessories use a dead band of the target ± 2 instead of a single pass/fail line. With a target of 12, anything from 10 to 14 reps holds the weight. Above the band adds the increment; below it drops 10%. Bicep Curl at 25 lb:
| Final-set reps | Rule | Next Curl session |
|---|---|---|
| 9 or fewer | × 0.9 deload | 22.5 lb |
| 10–14 | hold | 25 lb |
| 15 or more | + increment | 27.5 lb |
The band means a slightly-off day on a high-rep accessory doesn't cost you weight — accessories climb when they're clearly easy and only back off when they're clearly hard.
Failures and deloads
By default, Uppies handles a missed target exactly like the spreadsheet: the weight drops 10% (then snaps to the lift's rounding), and you build back up. Because the AMRAP set lets you overshoot on the way back, you typically return to your old ceiling with more reps in hand — that's the program self-correcting, not a setback.
There's also an optional Reset after repeated failures rule in Settings → Progression, off by default so the app matches the sheet out of the box. Turned on:
- A missed target repeats the same weight next time, giving you another attempt instead of retreating immediately.
- After a set number of consecutive misses (Failures before reset, default 3), the weight drops to 90% of your best successful weight — a deliberate reset from a known-good anchor, rather than 10% off wherever the misses left you.
Turn it on if repeated 10% cuts feel like a slow bleed — the classic Greyskull prescription is in fact to reset only after about three straight failures, a rule the spreadsheet never implemented. Leave it off if you want strict sheet behavior.
An explicitly logged 0 reps counts as a failure and deloads. If you skipped a lift entirely, leave its reps blank instead — a blank projects the same weight forward for next time.
Warm-ups
Presses and lower-body lifts get ramp-up sets computed from the day's working weight. Pulls, arms, and core have none.
| Block | Warm-up sets |
|---|---|
| Press (Bench, OHP) | bar × 5, 55% × 4, 70% × 3, 85% × 2 |
| Legs (Squat, Deadlift) | 40% × 5, 55% × 4, 70% × 3, 85% × 2 |
| Pull, Arms, Core | none |
Each percentage is floored to the warm-up rounding (5 lb or 2.5 kg by default) — rounded down, never up, so a warm-up can't creep above where it should be. Benching 145 lb: bar × 5, then 75 × 4 (55% is 79.75, floored to 75), 100 × 3, 120 × 2.
Two guardrails shape the list at the extremes:
- Nothing below the bar. A computed warm-up lighter than the empty bar is clamped up to bar weight. Your bar weight (and the warm-up rounding) is adjustable in Settings → Units if your rack holds a 35 lb women's bar or a technique bar.
- Nothing at or above the working weight. A warm-up that clamps all the way up to the working weight adds fatigue without providing a lighter ramp, so it's omitted. That's why warm-ups thin out — or disappear entirely — when your working weight is at or near the empty bar: there's nothing lighter to ramp with yet. They reappear on their own as the weight climbs.
Choosing starting weights
Start humbler than your ego wants. The program adds weight every session, so a light start costs you a week or two of easy wins; a heavy start costs you a deload spiral in week three.
Uppies suggests conservative defaults for each lift when you set up: an empty bar (45 lb / 20 kg) for Squat, Bench, and OHP; a lightly loaded bar that can rest on the floor for Deadlift (95 lb / 40 kg) and Row (65 lb / 30 kg); an empty bar for Shrug; the smallest common dumbbell (5 lb / 2.5 kg) for curls and tricep extensions; and plain bodyweight for Chin-up and Ab Rollout.
Entering your own number instead? The app's guidance: pick a weight you could manage for about 8–10 good reps today. That leaves the first sessions comfortably below your limit while the progression catches up to you.
The starting weight calculator
If you've trained before and remember a recent hard set, the Starting weight calculator in Settings → Exercise Settings works out a start for Bench, Overhead Press, Squat, Deadlift, or Row. The same estimate method is available when configuring those lifts during onboarding:
- Enter the weight and reps (1–12) of a recent hard set. The app estimates your 1-rep max from published conversion tables.
- It takes 90% of that as your training max — the number you can hit on any given day, not just your best day.
- Your starting weight is 70% of the training max.
Example: you recently benched 135 lb for 8 reps. Estimated 1RM ≈ 175 lb, training max 157.5 lb, starting weight 110 lb. That feels almost insultingly light on day one — it's supposed to. The app itself says so about accessories too: don't use the calculator for them; start those light and let them climb.
Bodyweight movements
Chin-ups and ab rollouts are bodyweight movements, so the weight Uppies tracks for them is added weight — plates on a belt, a dumbbell between the feet — and legitimately starts at nothing.
- Chin-up follows the main-lift rule. Start unloaded; the sets are rep-only. Once bodyweight chins are comfortably beating the target, open Settings → Exercise Settings → Chin-up, turn on Add weight, and it progresses like any other main lift from there.
- Ab Rollout is an accessory and typically stays unloaded — its default increment is 0, so it holds as a pure rep movement.
Unloaded sets still count. Every confirmed rep goes into your total-rep counts on the Progress tab; what unloaded work doesn't contribute is loaded volume, since there's no external weight to multiply. Ten bodyweight chins are ten reps in the book, and zero pounds moved — both statements are true, and the app records both honestly.
Coming back after a break
Life happens — a sick kid, a work crunch, a vacation. When you return after a week or more away, Uppies offers to ease your weights back down before the next session, scaled to how long you were gone:
| Time away | Offer |
|---|---|
| 7–13 days | Return each lift to its last successfully completed weight |
| 14–29 days | Reduce weights by 10% or 15% |
| 30+ days | Reduce weights by 20% or 25% |
The offer appears once per layoff per profile, and it only ever moves weights down — declining it just resumes where you left off. Accepting rebases each lift at the reduced weight; earlier history keeps the weights you actually lifted, and normal progression resumes immediately, with any failure streak wiped clean.
Why ease back instead of grinding? Detraining is real but shallow — the strength returns much faster than it was built. Coming back 10–25% light turns your first sessions into easy AMRAP wins that march the weight right back up, instead of missed targets that trigger deloads on top of rust. Two weeks of "too easy" beats one session of "why is the bar winning."
Still stuck? Email support.