2-Month Upper Body Specialization Program
Status: completed one 2-month block. See Results and the one-month continuation now underway.
Who This Is For
A returning or intermediate lifter with a training base, who can already do bodyweight pull-ups and dips and wants to specialize the upper body (chest, back, arms) for a focused 8 weeks. It leans on muscle memory: muscle you’ve built before comes back fast.
It does little for legs and abs. They appear only as end-of-session finishers. That’s a deliberate, personal choice: I already carry enough leg and core development from prior activity, so this block puts everything into the upper body. If that’s not you, add dedicated leg and core work, or run a balanced program instead.
Not for true beginners. If you’re new to lifting, build a balanced base first (full-body or upper/lower, legs included, lower volume). You’ll progress faster, and the weighted pull-ups and dips here assume strength you won’t have yet. The 2-month expectations also assume muscle memory a true beginner doesn’t have.
Core Principles
- The program works. Execution is the variable. The design isn’t the hard part; your results come down to a few behaviours within your control.
- Train hard enough. Most people stop sets far short of where they think, so push closer to failure than feels natural. (Exact RIR targets in The Rules; the science in Why It Works.)
- Never trade a joint for a rep. Intensity is for muscles, not joints. Sharp, localized joint or tendon pain means back off; muscle burn and soreness are normal. An injury can cost you the whole program; soreness costs you nothing.
- Eat enough. A surplus with enough protein, spread across ~4 meals (a giant protein hit doesn’t bank: the muscle signal caps per sitting). Undereating stalls everything, even with perfect training. (See Nutrition.)
- Progress, don’t just attend. Showing up isn’t the goal; progressive overload is. A lighter day with full intent is training; a full day on autopilot is just attendance.
- Ease in, then push. The first two weeks ramp up deliberately. That’s not the undershooting above, it’s protecting tendons, which adapt slower than muscle. (How: First Two Weeks.)
Part 1 is the at-the-gym reference: schedule, rules, the four sessions, progression. Part 2 is the reasoning behind every choice, plus nutrition, supplements, and recovery. Read Part 2 once; after that you mostly live in Part 1.
Part 1: At the Gym
Overview
A 4-day upper body specialization split. Each upper muscle hit twice weekly with a heavy/volume variation. Legs and abs are maintained through end-of-session work.
Schedule: Mon (Push A), Wed (Pull A), Thu (Push B), Sun (Pull B)
The Rules
- RIR = reps in reserve: how many reps you could still do before form breaks.
- Heavy days (Mon, Wed): low reps on the main compounds; abs as the finisher.
- Volume days (Thu, Sun): higher reps; heavy legs as the finisher.
- How close to failure (the key variable): compounds stop ~1–2 RIR (never grind heavy bar or bodyweight compounds to failure); isolation goes to 0 RIR (until the rep physically can’t complete). Most people undershoot badly. A true 1–2 RIR set feels hard and the last reps visibly slow. If you’re unsure you had more left, you did, so err toward harder. RIR accuracy improves over months. (Why this is the key variable: see Why It Works.)
- Pain vs ache, know the difference. Muscle burn, pump, and next-day soreness are normal; train through them. Sharp or localized pain in a joint or tendon is not: lower the weight, swap the exercise, or skip it, no ego. Intensity is for muscles, never joints.
- Free weights for compounds, cables for isolation where gravity loses tension (lateral raises, flyes, curls, pushdowns).
- Rest: a continuously-running 3-minute timer. Start a set at each beep (3:00 → 6:00 → 9:00…); the ~30s set leaves ~2.5 min of recovery. Reset when you move to the next exercise, one less thing to think about.
- Progressive overload via double progression: stay at the same weight until you hit the top of the rep range across all working sets, then add the smallest increment and reset to the bottom of the range. (See Progression Example.)
- Track every set: weight × reps. Aim to beat last week in either reps or weight.
First Two Weeks
New to this, returning, or not used to training near failure? Ramp in. Don’t go 0→100 in session one.
- Start around 60% of what you think you could lift, and build up across the two weeks. The early weeks are mostly neural and muscle-memory anyway, so you lose nothing, and you protect tendons and connective tissue, which adapt slower than muscle.
- Use the ramp to calibrate: groove technique and learn what a real 1–2 RIR feels like before you chase it.
- Go to full effort when all of these hold: recovering fully between sessions, technique solid, no joint or tendon niggles, RIR guesses feel real. For most returners, ~2 weeks.
- This isn’t the undershooting from Core Principles. That’s a deliberate, temporary on-ramp; undershooting is permanently leaving reps in the tank. Ramp in, then train hard.
- When unsure, err a few days longer. Tendons are the slow tissue: a cautious extra week costs little; a week-one injury costs the whole program.
Mon: Push A (Heavy)
| # | Exercise | Work | Notes |
|---|
| 1 | Cable rotator cuff (int/ext rotation) | 2×10 each | activation only, light |
| 2 | Weighted dips or barbell bench | 3×5–6 @ 1–2 RIR | main heavy press; alternate weeks if you want both |
| 3 | Incline DB press | 3×8–10 @ 1–2 RIR | |
| 4 | Standing OHP (bar/DB) | 3×6–8 @ 1–2 RIR | |
| 5 | Cable lateral raise (1-arm) | 3×10–15 | last set to failure |
| 6 | Skullcrusher / lying tricep ext | 3×8–10 | last set to failure |
| 7 | Hanging leg raises | 3×max | progress: knees → straight → toes-to-bar |
Working sets: ~17
Wed: Pull A (Heavy)
| # | Exercise | Work | Notes |
|---|
| 1 | Band pull-aparts | 2×15 | activation only |
| 2 | Weighted pull-ups | 3×5–6 @ 1–2 RIR | |
| 3 | Barbell row or T-bar row | 3×6–8 @ 1–2 RIR | |
| 4 | Face pulls | 3×12–15 | last set to failure |
| 5 | Incline DB curl | 3×8–10 | last set to failure |
| 6 | Cable hammer curl (rope) | 3×10–12 | last set to failure |
| 7 | Ab wheel rollouts or cable crunches | 3×10–15 | |
Working sets: ~17
Thu: Push B (Volume)
| # | Exercise | Work | Notes |
|---|
| 1 | Cable rotator cuff | 2×10 each | activation |
| 2 | Weighted dips | 3×8–10 | lighter than Mon if alternated; else secondary press |
| 3 | Machine chest press or flat DB press | 3×10–12 | |
| 4 | High-to-low cable flye | 3×12–15 | to failure |
| 5 | Low-to-high cable flye | 3×12–15 | to failure |
| 6 | Cable lateral raise | 3×12–20 | to failure; superset with #7 |
| 7 | Tricep rope pushdown | 3×12–15 | to failure; superset with #6 |
| 8 | Leg press or hack squat | 3×6–8 | heavy legs; form-friendly when upper-fatigued |
Working sets: ~21 (superset cuts ~5 min off the session)
Sun: Pull B (Volume)
| # | Exercise | Work | Notes |
|---|
| 1 | Band pull-aparts | 2×15 | activation only |
| 2 | Lat pulldown | 3×8–10 | last set to failure |
| 3 | Seated cable row | 3×10–12 | last set to failure |
| 4 | Single-arm DB row | 3×10–12 each | |
| 5 | Face pulls | 3×15–20 | to failure; superset with #6 |
| 6 | Cable curl | 3×10–12 | to failure; superset with #5 |
| 7 | Preacher curl or incline DB curl | 3×10–12 | to failure; different angle, hits bicep at shorter position |
| 8 | Back extension | 3×10–15 | |
| 9 | Romanian deadlift | 3×6–8 | heavy hip hinge; second leg compound of the week |
Working sets: ~22
Progression Example
Bench press 3×5–6 starting at 70 kg:
| Week | Sets (kg × reps) | What happened |
|---|
| 1 | 70×6, 70×5, 70×5 | starting point |
| 2 | 70×6, 70×6, 70×6 | hit top of range across all sets |
| 3 | 72.5×5, 72.5×5, 72.5×4 | +2.5 kg, reset to bottom |
| … | | and so on |
Same logic for every exercise. On isolation work taken to failure, you progress when total reps across sets goes up.
Time Management for ~1 Hour
- 3-minute timer per set: automatic, don’t think about it.
- Phone in pocket between sets.
- Walk in warm: light cardio + dynamic stretching at home.
- Compound warmup ramp: empty bar × 8, 50% × 5, 70% × 3, then working sets. No more.
- Use the supersets noted on volume days; saves 5–10 min.
- If a session genuinely needs 70–75 min (especially Thu/Sun with heavy legs), accept that. Don’t drop a key exercise to hit a clock.
- Evening is the optimal training window: body temperature and testosterone:cortisol ratio peak in late afternoon/early evening, producing ~3–7% better strength output than morning. Morning works fine with a longer warmup and food beforehand. Finish at least 2 hours before sleep regardless; post-training cortisol disrupts sleep onset if too close to bedtime.
Part 2: Study & Planning
Why It Works
- Two stimuli, every week (this is called Daily Undulating Periodization, or DUP). Heavy work (5–6 reps) creates maximum mechanical tension per rep and drives neural adaptation: your nervous system getting better at recruiting what you already have. Volume work (10–20 reps near failure) accumulates more total stimulus and metabolic stress. Each drives hypertrophy through a different mechanism. Running both each week beats specialising in one.
- The compounding loop. Heavy days make you stronger → you can move more load on volume days → more mechanical tension at the same rep range → more growth. Each heavy session makes the next volume session more productive.
- DUP vs block periodization. The alternative is block periodization: dedicating weeks to one quality at a time (e.g. 6 weeks hypertrophy, then 6 weeks strength). That’s optimal for competitive powerlifters who need to peak for a specific date. For hypertrophy goals, DUP matches or outperforms it because you’re accumulating both stimuli every week rather than sacrificing one while building the other.
- Frequency over volume per session. Hitting each muscle twice weekly produces two separate muscle protein synthesis peaks. Once-a-week bro splits get one. Same total sets spread across two sessions is more effective.
- Size and strength are different goals with different levers; don’t confuse them. Growth is driven by how hard each set is: taken close enough to failure, with enough volume. Strength is driven by progressive overload: adding load or reps over weeks (what “beat last week” tracks). That’s why heavy compounds deliberately stay away from failure (1–2 RIR): grinding them to failure piles on fatigue that degrades your next sets and sessions without making you stronger. The rule of thumb: train hard to grow, add load to get strong. They reinforce each other (heavier compounds put more tension on your volume work), but pull the right lever for the goal.
- Why proximity to failure matters, and why most people fail here. High-threshold fast-twitch fibres (the ones with the most growth potential) only get recruited when the set is hard enough to demand them. Heavy weight recruits them from rep one; lighter weight recruits them through fatigue. Either works, but stopping well short of failure on either often doesn’t. That’s why compounds run close to failure (~1–2 RIR) while isolation goes all the way (0 RIR). The catch: almost everyone trains too easy. People stop when a set gets uncomfortable, not when it gets genuinely hard, calling it “1–2 RIR” with four or five reps still in the tank. Those unworked reps are exactly where the growth stimulus was. The error is nearly always on the soft side, so when in doubt, push further: take later sets until the bar genuinely slows (compounds) or a rep physically fails (isolation).
- Early strength gains are mostly neural, not muscle. Weeks 1–4 you’ll get stronger faster than you get bigger. That’s your nervous system adapting: learning to recruit fibres more efficiently. This is why muscle memory exists: the neural patterns return quickly, the tissue follows. Don’t mistake fast strength progress for fast growth; they’re not the same thing.
The Back: Classical Roots of the V-Taper
Greek Canon
Polykleitos’s Doryphoros (Spear-Bearer, 5th century BCE) was the literal rulebook for male proportions, what the Greeks called kalos kagathos (beautiful and good). The defining feature of the ideal male form was the V-taper: wide shoulders created by developed lats and deltoids, tapering to a narrow waist. The silhouette came from the back, not the chest. A broad chest on a narrow frame was considered incomplete; width had to come from the lats.
Roman Pragmatism
The Romans inherited the same aesthetic ideal but grounded it in military function. A legionary carried 20–30 kg of armor and shield, marched 30 km a day with full kit, and fought in close quarters where back and shoulder endurance determined survival. The back was the most functional asset a soldier had: strength and endurance, not vanity.
”The Show Is Won from the Back”
A competitive bodybuilding truth. Anyone can build a decent front pose with enough bench press. The back (lats, traps, rhomboids, rear delts, spinal erectors) creates the 3D silhouette visible from every angle, including head-on when wide lats push the arms outward. A big chest on a narrow back looks flat. A developed back on a moderate chest still looks built. The back is the frame; everything else hangs on it.
How This Program Maps to the Philosophy
| Muscle | Compounds/week | Angles covered |
|---|
| Back | 6 (pull-ups, barbell row, lat pulldown, seated row, DB row, face pulls) | Vertical pull, horizontal row, unilateral row, rear delt flye |
| Chest | 4 (bench/dips, incline press, OHP, machine/flat press) + 2 isolation flyes | Flat, incline, decline, upper/lower flye |
| Shoulders | OHP + lateral raises + all pressing | Overhead, lateral, indirect via pressing |
Back gets more compound exercises, more angles, and higher total volume than chest, by design. The asymmetry isn’t an oversight. The program prioritizes the silhouette.
Nutrition (the actual limiter)
Targets
- Protein: 140–150g/day (≈2g/kg bodyweight).
- Calories: 300–500 above maintenance. If the scale isn’t moving after 2 weeks, eat more. High metabolism raises your maintenance: you need more food to reach surplus, not less.
Priority order
The whole approach, ranked by what matters most:
- Hit your calorie surplus: the foundation everything else depends on
- Protein anchor at every meal (~35g, 4 meals): the one macro that doesn’t sort itself
- Carbs, don’t track (see Carbs)
- Daily whey + creatine shake: the afternoon protein anchor, both supplements in one action (whey ~120 kcal/scoop, not a calorie tool)
Meal structure: 4 meals, ~35g protein each
Protein first at every meal. It’s the only macro to actively think about.
| Meal | Target | Example |
|---|
| Breakfast | ~35g | 2 slices bread + 3 eggs + 2 slices ham |
| Lunch | ~35–40g | Rice/pasta + 130–150g chicken or lean meat |
| Between lunch–dinner | ~35g | Whey shake (~35g) |
| Dinner | ~35–40g | Rice/pasta + 130–150g meat |
Breakfast is non-negotiable. Minimum viable on rushed mornings: 2 eggs + 2 slices ham on bread (~25g).
Why 4 meals, not 2
Muscle protein synthesis (MPS) is the process that turns dietary protein into muscle: your body switches it on in response to training and to a meal with enough protein. The key thing: it’s pulsed, not continuous, and capped per sitting at ~35g of complete protein. Eat 80g in one meal and you get the same muscle signal as 35g; the excess is burned for energy, not built into muscle. That’s why distribution beats dose: two big meals = 2 MPS pulses, four meals = 4. Same total protein, very different result.
The refractory period. After a meal triggers MPS, the muscle goes temporarily unresponsive. A second meal arriving in that window doesn’t trigger a new spike; its protein gets redirected to gluconeogenesis or oxidation instead of muscle building. Eating 20g at 12pm then 45g at 2pm = ~20g toward muscle, not 65g.
| Gap between meals | Result |
|---|
| Under 2 hours | One spike total |
| 2–3 hours | Mostly refractory, limited second response |
| 3–4 hours | Borderline, partial second spike |
| 4–5 hours | Safe, near-certain full independent spike |
| 5+ hours | Definitely full independent spike |
Minimum to trigger MPS: ~20–25g of complete protein, enough leucine to cross the activation threshold. Below ~10g, MPS is not meaningfully activated and the refractory clock doesn’t start. Small low-protein snacks don’t interfere with the next meal’s spike.
Knowing your portions
A kitchen scale is essential at the start. For the first couple of weeks, weigh your staple foods so you learn what a given amount actually delivers: an egg ≈ 6g protein, 100g cooked chicken breast ≈ 31g, a palm-sized piece of lean meat ≈ your ~35g target. Look up the rough protein content of the handful of foods you actually eat; that becomes your reference when shopping and eating.
After that, eyeball it. This is a compass, not a measurement you’re chained to: aim for “roughly 35g,” not “exactly 35g.” The point of weighing early is to build a reliable feel, so you can hit the target later without weighing every meal.
On cooking eggs
Cooked eggs are ~91% digestible vs ~51% raw: heat unfolds the protein, making it accessible to enzymes. Method (scrambled, sunny side) doesn’t matter; the raw egg on natto/rice is less effective than a cooked one alongside it.
Carbs
Carbs (stored as glycogen) are the primary fuel for lifting; run low and your later sets go flat. But if your diet is already carb-heavy (rice, bread, pasta daily), carbs sort themselves: ~250–300g/day comes naturally, so there’s no need to track.
Calories and the deficit problem
The three macros carry calories: protein and carbs at 4 kcal/g, fat at 9 kcal/g.
In a caloric deficit, the body breaks down stored tissue for fuel. Critically, it burns amino acids through gluconeogenesis, using protein as fuel rather than for building muscle. This means hitting protein gram targets on paper doesn’t fully translate: some of that protein gets oxidised for energy before it reaches muscle. Cortisol rises, MPS is suppressed, and muscle gain stalls even with good training and adequate protein grams.
Estimated numbers:
- Maintenance: ~2,650–2,800 kcal/day
- Target: ~3,000–3,200 kcal/day
Reaching the surplus without disrupting your diet:
- Slightly larger rice or pasta portion (+30–50g uncooked): +108–180 kcal
- Extra egg at breakfast: +75 kcal
- Olive oil on pasta (1 tbsp): +120 kcal
- Second famichikin at konbini: +250 kcal
A couple of these gets you into surplus.
Around training
- Pre-workout (1.5–2 hours before): prioritise carbs. Rice or bread fills muscle glycogen, which directly fuels performance. If no time for a full meal, an onigiri 30–45 min before is better than nothing.
- Post-workout (within 2 hours): protein is the priority. Regular lunch or dinner covers this if not delayed. No strict 30-minute window; the anabolic window is 2–3 hours either side.
- Konbini snack timing for evening trainers: if the snack is within 2–3 hours of dinner, make it carb-heavy and low protein (<10g) to fuel the workout without triggering MPS and the refractory period. This leaves dinner as a clean, uncontested full spike at the moment post-workout MPS sensitivity is highest. 2 plain or kombu onigiri (~6–8g protein, ~70g carbs, ~340 kcal) works well. If the snack is 4+ hours before dinner, keep the protein in it normally.
Alcohol
Alcohol suppresses MPS for 24–48 hours and degrades sleep quality regardless of total hours slept.
I treat weekend drinking as a fixed requirement rather than something to optimise away, so the split is built around it: Sunday is a volume day (Pull B) by design, the session most likely to fall on compromised weekend recovery, so better a lower-stakes volume day there than a heavy strength day. Without that constraint I’d arrange the days more optimally.
If you also have a daily weekday beer, it quietly blunts the overnight recovery window after training, so cutting that one helps without touching the weekend.
Supplements
Do: The daily shake (whey + creatine)
I settled on one afternoon shake: whey + creatine (+ anything else) at the same time each day. It started as konbini snacks, but choosing one every afternoon (check the protein, check the price) got old; a fixed shake removes the decision, costs less, and never gets skipped. The food itself matters less than having a reliable daily protein hit, so adjust it to your own situation.
| Option | Protein | Cost (approx) | Mental load |
|---|
| Famichikin + tuna onigiri | ~18g | ~365¥ | decide + buy, daily |
| Whey shake | ~35g | ~150¥ | fixed, repeatable |
Whey: the protein component. Dairy-derived, so if skin reacts, swap to egg white protein powder. Flavored whey (e.g. vanilla) can cause mild nausea; it does for me on vanilla, so I’m considering switching to unflavored. Tolerable for these two months; if it bothers you, go unflavored or change brands.
Creatine: the performance component. Most evidenced supplement in sports science. Not a protein supplement; it increases phosphocreatine stores in muscle, giving more ATP for short high-intensity bursts. Practically: 1–2 extra reps on heavy sets, slight strength gain across the board, and muscles look slightly fuller from intracellular water. Dose 3–5g/day, consistency over timing. Expect ~1–2kg scale increase in the first 2 weeks from that water retention, normal and expected.
Skip: BCAAs
BCAAs are three amino acids extracted from complete protein. The whey shake already contains all of them plus everything else needed to sustain MPS, so it covers what BCAAs sell at lower cost and higher effectiveness. No reason to add them.
Recovery
- Sleep 8+ hours. Non-negotiable for muscle protein synthesis.
- Soreness is not a growth signal. It fades as you adapt; growth continues. Don’t chase it.
- Bad-sleep day or post-social-weekend session: reduce loads ~10%, hit the prescribed reps, log it, move on. Don’t grind a fatigued session.
- No deload needed for 2 months unless you start consistently underperforming for 1+ weeks.
Realistic 2-Month Outcome
- Scale weight: +2–4 kg expected (muscle memory advantage active)
- Visible change: most pronounced in chest and arms (biceps). Shoulders will develop as a secondary effect of the overhead and lateral raise volume, but are not the primary target.
- Strength: likely return to or surpass previous bests by week 6–8. Fast early strength gains (weeks 1–4) are mostly neural, so don’t read them as size progress.
- Main risks to outcome: undereating and training too easy, not the program itself
Results After 2 Months
A retrospective on the actual run. Overarching verdict: it worked well. The remaining gains were small optimizations, not structural problems.
What Happened
- Bodyweight: ~3 kg (estimate; didn’t nail down the exact starting weight). In line with the +2–4 kg projection.
- Visible change: significant improvement across chest, arms, and back. Shoulders grew too but weren’t a standout, roughly what you’d expect from a secondary target.
- Strength: progressive overload showed clearly week to week, back to roughly 80% of prior peak (~1 year of consistent 2×/week training before). Read against bodyweight it’s a useful signal: I’m heavier now than at that peak but still weaker, so the extra weight isn’t all performance muscle, some is fat and water from the surplus, some is size that hasn’t turned into strength yet. Trajectory is good for adding load next month.
What Worked
- Consistency held. Hit the target number of days every week. Days sometimes got rearranged around social life or other commitments, but that’s fine: as long as the days-per-week count holds, reshuffling which day is which isn’t a problem.
- Nutrition landed. Four meals consistently, protein hit almost every meal, surplus reached without a struggle. Breakfast protein ran slightly under target but not enough to matter.
- The weekend/Sunday design worked. Being social sometimes fell on Friday instead of Saturday; when it was Saturday, recovery was good enough by Sunday evening for the Pull B session. Didn’t feel drinking affected training much, the volume-day-on-Sunday placement did its job.
- Injury management held up. One shoulder flare-up on DB press: adjusted weight and form for 1–2 weeks and trained around it rather than through it, backing off once the pain showed. In line with the “never trade a joint for a rep” call.
- RIR and training-to-failure were good overall, just not perfectly dialed.
- Session time and recovery were on target. Workouts consistently ~1 hour as designed. Slept ~7.5h on average (just under the 8h target). Backed off the odd fatigued session but never hit the consistent underperformance that would call for a real deload. Creatine ran without issues, though the effects were hard to notice directly.
Small Optimizations for Next Block
Minor gains left on the table, not problems with the block:
- Extract the last ~10% on failure sets. Sometimes ended a set early out of habit, defaulting to a familiar stopping intensity and forgetting which sets are meant to go to true failure. Be more deliberate about when and where to actually hit failure vs stop at RIR.
- Go heavier on heavy days. Occasionally overshot the rep range because the weight could have been higher, meaning the load was left too conservative. Same story for progressive overload: could have added load a bit more aggressively on the heavy compounds. (Caveat: this trades against the injury-avoidance that worked well; the conservative call was defensible.)
- Sharper heavy/volume separation. A clearer weight differential between heavy and volume days would sharpen the DUP contrast.
What’s Next: One-Month Continuation
Same program, one more month, with a few deliberate changes carried over from the retro.
Changes
- Heavier heavy days. Push the load on Mon/Wed compounds so I’m hitting the bottom of the rep range, not overshooting it. Also means more aggressive progressive overload week to week. (Kept in check by the injury-avoidance that worked last block: heavier, not reckless.)
- Unflavored whey. Fixes the recurring nausea.
- Actually go to failure where prescribed. Be deliberate about which sets are true-failure sets vs RIR sets, and don’t default to the habitual stopping point.
More chest focus
Biasing this month toward chest without adding exercises:
- Prioritize incline (upper chest). Make incline DB press the firm Mon staple rather than alternating it away.
- Chase the stretch: deep dips, full-stretch incline press, and taking the Push B flyes into a stretched-position failure.
- Take the flyes to true failure (ties into change #3 above).