Skip to content

Method

GymFreak is built for health maxing— progress toward your goals by letting gym, sleep, recovery, and (later) diet reinforce each other. Every analysis and suggestion is grounded in a versioned evidence pack: cited ranges from research, not a chatbot inventing loads or rewriting your week in silence.

Health maxing

A perfect split fails if the other pillars fight it. Gym is the first vertical; sleep and recovery already join the engine; diet joins the same loop later. The calendar can hold school and hard days so exam pressure moves training — it does not steal sleep.

  • Gym — log, plan, session marks from your last working set
  • Sleep — hours asleep / time in bed; short nights can hold load
  • Diet — quality, timing, protein/carbs band, micronutrient hygiene (Vit D / iron) as recovery context — food-first, not a lab app
  • Life stress — hard days on the same timeline, not a second app

One continuous loop

There is no ranked “feature funnel.” Health data, workout data, analysis, and opt-in tips feed each other:

  • Health data in — Apple Health or another health app (sleep, heart rate, later diet). More recovery signal sharpens the week.
  • Workout data in — sessions you log here. A workout CSV import stays optional in Settings for history you already have — it is not the default story.
  • Analysis — volume, frequency, sleep, progression, and recovery joins, alone and together, against cited bands.
  • Opt-in tips — science-backed suggestions with a why. You approve, edit, or skip. Nothing rewrites your week silently.

Starting a period: profile and goals → three routine options with a short why → you pick one. Daily: finish sessions and read the join. When a block ends, return to goals for the next period.

Papers first

Core bands live in git: weekly hypertrophy volume 8–20 hard-set equivalents per muscle group; frequency that spreads work across the week; sleep 7–9 hours (adult consensus). Statistics draws those bands on the page; quotes stay behind Sources. Changing a range is a git change, not a silent edit. We skip paywalled PDFs and do not host paper files on the live site. Stack narrative for recruiters sits on GymFreak_Public— not as a wiki on this page.

Periods, not calendars

The guest cut is a dated period of about four complete weeks — a range with a start and an end, not “this week”, “August”, or “2026”. Papers still speak in weekly sets; we show the weekly average inside that period. Your active training block bounds insights for your account. The public demo never shows private session titles.

What counts as a set

Warmup sets are dropped. A prime mover counts as 1.0; each meaningfully trained synergist counts 0.5 on its own (fractional counting). We also name muscle heads. Stabilizers (hamstrings on a squat, long head of triceps on a bench pattern) are listed, not scored against the 8–20 group band. Unknown exercise titles are listed as a warning and are not counted as hypertrophy volume.

Stall = 4 sessions

A lift is flagged when the last four sessions show no better working set (load, or reps at the same load). That N=4 is a GymFreak product rule. Reviews of progression support tracking stalls; they do not specify four sessions. Confidence on this rule is low, on purpose.

Session marks (Epley)

Estimated 1RM uses Epley: weight × (1 + reps / 30). A block goal is a modest bump from the last working set (about 0.5% per remaining week, capped at eight weeks), rounded to 2.5 kg plates. Today’s session mark is the last working set plus one 2.5 kg plate toward that goal — usually 8–12 reps. You can type different numbers; they stick. No model invents a hero PR in week one. After four flat sessions on a main lift, we may suggest a new family — we do not switch type every week in silence.

Sleep

Hours asleep: 7 or more (Watson 2015 AASM/SRS), adult band 7–9 (Walsh 2021). Default goal is 7.5 hours. Time in bed is longer than time asleep; GymFreak uses an 85% efficiency method so 7 hours asleep needs about 8 hours 15 minutes in bed. That percentage is not a cited trial in the pack. A short night (under 7 h) or four short nights in a row holds yesterday’s gym load — no PR jump. We do not listen to breathing or clone a sleep-mic app. Health-file import and a simple bed/wake flow are enough for the join.

Diet micronutrients

Protein sits in a cited ~1.6–2.2 g/kg band (Morton 2018; ISSN 2017). Micronutrient tips are food-log hygiene against pack targets — vitamin D (Sist 2023; Owens 2018) and iron (DGE 2019 sport-nutrition frame). Soft flags mean “logged intake looked light,” not a serum deficiency, lab prescription, or supplement affiliate. Outdoor light and knowing your Vit D status still matter; mega-dosing is not an ergogenic shortcut if you are already sufficient.

Lifestyle hygiene (M8)

After the core pillars, a few grounded edges — not a second wellness app. Morning outdoor light with a steady wake is circadian hygiene (method), not a lux RCT we invent. Late caffeine can steal sleep; we do not invent a universal cutoff clock. Daily steps are health context beside lifting, never a recovery score or streak duty. Subjective stress 1–5 on a wake day sits in the same family as exam pressure: prefer holding volume over a hero week — not a character score.

T-maxing (guidelines, not a clinic)

If people mean “optimize hormones,” the levers we already run are the honest ones: protect the 7–9 h sleep band, keep a real training stimulus and protein framing, treat alcohol as a recovery cost. Body composition from weight/goals is context for training and diet — never a blood panel, clinic protocol, or supplement funnel. Cold plunges and Whoop cosplay stay out.

XP, streak, coins

Three tracks, each 1–50. Global is their mean. Power is your best lifts’ e1RM (Epley) against a per-exercise cap, divided by fair mass to the two-thirds — fair mass is bodyweight scaled to 175 cm at the same BMI, then allometry (Jaric 2002; Lietzke 1956). Levels are not linear in kilos. Volume and sessions use product caps for a natural-ish ceiling — not a cited trial.

Streak: log sleep every wake-day, train on a gym day you planned, and log cardio if you placed that session. Planned rest does not break it. A miss resets the count, not your coins. Coins buy themes, rings, and companions — never euros, never pay-to-win.

Leaderboard

Rank is the raw PR in kilograms. Weight class is 10 kg buckets from bodyweight at the PR. Fair class scales that mass to 175 cm (same BMI) then uses the same buckets. Names, PR, weight and height are on each row. Friends is a filter, not a separate formula. Private profiles show on the board; the PR page opens only for friends.

Privacy (GDPR / AVG)

Guests see anonymous aggregates — no names, no workout titles, no set-by-set log. A signed-in account may import health data and optionally a workout CSV after consent; that history stays on that account. The Statistics leaderboard (signed-in) shows display names, PRs, and body at the PR — never email. Training and sleep exports are health-related data (GDPR Art. 9 / AVG). No advertising cookies. Export and delete are on Profile.

Gaps in this cut

Missing effort scores stay missing — we do not invent RPE. No medical advice and not a medical device. Insights are educational. Soft-live proposals and the diet ladder are in the continuous loop; lifestyle tips stay opt-in hygiene, not a second tracker.

More coming.

How the stack is built sits in the public repo, not on this page: GymFreak_Public. Back to statistics.