ProductOverviewFeaturesProgramsIntegrations
How It WorksPricing
ResourcesGuides1RM CalculatorTDEE CalculatorMacro Calculator (Lifters & Runners)ACWR CalculatorAbout

How It Works · 6 min read

How Mass in Motion Works

I want the app to make training decisions for reasons I can explain. That sounds obvious. A lot of software makes it surprisingly hard.

Mass in Motion is algorithm driven.

That means the workout is built from rules.

Your goals.

Your schedule.

Your equipment.

Your current strength and running fitness.

Your recent training.

Then the rules decide what fits.

Generative AI does not get to look at that pile of information and invent a workout because it sounds plausible.

The goal gets first say

You cannot push everything equally hard forever.

I wish that were not true.

It would make programming a lot easier.

If strength is the main goal, important lifting sessions get protected and running has to fit around them.

If you are preparing for a race, the key runs get more of the week and lifting volume has to admit that.

A balanced hybrid phase sits between the two.

The app should know which fight it is supposed to win.

Your real schedule matters more than the perfect schedule

A program that only works if you can train at 10 a.m. six days a week is useless if you cannot do that.

So availability goes in early.

Session length goes in.

Equipment goes in.

Injuries or movements you cannot use go in.

I do not want the app building the dream week first and apologizing afterward because none of it fits your life.

The lifting method is supposed to actually change the program

This is another thing that bothers me in training apps.

You choose hypertrophy.

You choose strength.

You choose conjugate.

Then somehow all three produce basically the same week with different labels.

No.

Conjugate needs max-effort, dynamic-effort, repetition work, variation logic, and weak-point work that behaves like conjugate.

Hypertrophy needs volume and progression that behave like hypertrophy.

Traditional strength should care more directly about the primary lifts and how those lifts progress.

The method is part of the logic.

RIR tells us what the weight actually felt like

A planned load is a guess until you lift it.

Maybe 315 was supposed to be 2 RIR.

Today it moved like a warm-up.

Or maybe you barely finished the set.

I want the program knowing the difference.

Completed reps, load, and reps in reserve give the system evidence about how the prescription landed.

That is more useful than pretending every athlete feels exactly the same at 80 percent.

Running paces move with running fitness

I have the same problem with permanent pace targets.

You run a 5K.

The app calculates paces.

Six months later your fitness changed and the old numbers are still sitting there like nothing happened.

I do not want that.

Current performance should drive the targets.

Easy work gets an easy target. Threshold gets a threshold target. Faster work gets a reason for being faster.

Then heat, hills, fatigue, and the purpose of the session still get some common sense.

The scheduler is where hybrid training gets interesting

A good lifting program plus a good running program can still equal a terrible week.

Heavy lower Monday.

Intervals Tuesday.

More lower Wednesday.

Long run Thursday.

Every individual workout might be defensible.

The week is awful.

That is why Mass in Motion looks at the stress of both sides before placing sessions.

Hard lower-body work, hard running, long runs, and higher-volume leg sessions cannot all pretend the others are somebody else's problem.

Recovery is a bunch of clues, not one stop sign

HRV gets a vote.

Sleep gets a vote.

Resting heart rate gets a vote.

Recent workload and performance get votes too.

Then I care about the workout coming next.

A little leg fatigue before upper body is not the same situation as a little leg fatigue before max-effort deadlift.

One giant readiness number cannot express that very well.

Fatigue is not one battery either

A long run and a heavy bench session can both be hard.

They did not create the same recovery problem.

Lower-body impact, muscular stress, eccentric work, glycogen demand, systemic fatigue, and neuromuscular demand can matter differently depending on the session.

I want the program keeping track of that instead of flattening the athlete into "72% recovered."

Workload trends are there to catch changes

If you were doing one amount of work and suddenly do a lot more, I want the app to notice.

That is where things like ACWR can help.

I do not use workload ratios as injury fortune-telling.

They tell me the dose changed.

Then recovery and performance tell me how well the athlete seems to be handling it.

Deloads have to actually deload

This sounds stupid.

It still needed fixing.

A deload cannot keep the same volume, keep hard sets near failure, keep the hard running, and call itself recovery because the bar is five percent lighter.

If fatigue needs to come down, training stress needs to come down.

Volume, effort, and running intensity can all move depending on what created the problem.

Nutrition starts with an estimate and then has to face reality

TDEE is an estimate.

That is fine.

You need somewhere to start.

Then actual intake and bodyweight trends tell you whether the estimate was useful.

If mileage climbs, energy demand can change.

If bodyweight stops moving, the old calorie target may not be doing what you thought.

I want feedback changing the number instead of worshipping the original calculation.

The part I refuse to hand to generative AI

The workout.

That line is simple.

Machine learning may eventually be useful for research or estimating athlete state.

It does not get to freestyle the program.

I want programming behavior tested, reproducible, and explainable.

There are already enough moving pieces in training.

I do not need randomness added for personality.

If you want the shorter product explanation, read What Is Mass in Motion?. For the workload side, read How Mass in Motion Tracks Training Load.

Want in before launch?

Join the update list for launch news and Founder pricing, or apply for the beta.

Want to train on it now? Beta testers get the build before launch. Four questions, about thirty seconds.

Apply for the beta →