Muscle intelligence for hypertrophy

Track muscles, not workouts.

RepIQ turns every logged set into per-muscle stimulus, recovery, and growth scores—then coaches you on what to train next.

What RepIQ does

Built for lifters who care about balance, recovery, and measurable hypertrophy—not just a workout log.

Muscle-level logging

Log sets in kg with reps and RIR. Each exercise maps to primary and secondary muscles automatically.

Stimulus tracking

Every set becomes a per-muscle stimulus score so volume is tracked where it matters—not just per workout.

Recovery map

See recovery % per muscle from recent weekly load. Know what's fresh and what's still fatigued.

Growth scores

Combined stimulus and recovery produce a 0–100 growth score and trend for each muscle group.

AI coach

Get daily workout suggestions, focus areas, and natural-language advice scaled to your profile and load.

Today's workout

If you haven't trained yet today, Home recommends a session based on undertrained and recovered muscles.

The math behind the scores

Transparent formulas—no black box. All weights are logged in kg.

Muscle stimulus (per set)

stimulus = weight × max(0, reps − RIR) × muscle contribution

Weight is bar load in kg. Reps in reserve (RIR) lowers effective reps so hard sets count more than easy ones. Contribution is how much an exercise targets that muscle.

Used for: Muscle impact maps, weekly stimulus totals, coach charts.

Effective reps

effective reps = max(0, reps − RIR)

Reps in reserve (RIR) estimates how many more reps you could have done. Effective reps power stimulus scores.

Used for: Stimulus scores, set records, and intensity modeling.

Weekly muscle stimulus

weekly stimulus = Σ stimulus scores (last 7 days)

Summed per muscle from all sets that hit that muscle in the rolling week window.

Used for: Growth estimates, recovery, undertrained detection.

Recovery score

recovery = clamp(100 − (weeklyStimulus / 5000) × 75, 15, 100)

More weekly load lowers recovery. Untrained muscles (0 stimulus) sit at 100%.

Used for: Recovery body map, ready-to-push logic.

Growth score

growth = round(stimulusScore × 0.6 + recovery × 0.4), where stimulusScore = min(100, (weeklyStimulus / 3000) × 100)

Balances recent training volume with readiness. Trend compares this week vs prior week stimulus.

Used for: Growth map colors, muscle detail charts.

Estimated 1RM

e1RM = weight × (1 + reps / 30)

Epley-style estimate for strength trend tracking.

Used for: Strength history (when enabled in your training pipeline).

Relative workload

volume per kg = (Σ weight × reps) / body weight

When your profile is set, coach compares total set volume to your body weight in kg.

Used for: Personalized AI coaching and workload context.

BMI (profile)

BMI = body weight (kg) / (height (m))²

Body metrics plus age inform coaching tone and recovery expectations—not logged set weights.

Used for: Profile page and coach context.

Ready to train smarter?

Log a session, see your muscle map update, and get a recommended workout for today.

Create account