Every triathlete who has trained for 70.3 or Ironman knows the moment. It's Sunday night. You're looking at the week ahead. Tuesday's interval bike, Wednesday's threshold swim, Thursday's long run, Friday's strength, Saturday's brick, Sunday's long ride. Plus mobility. Plus a recovery spin. Plus core.

Then Monday morning your kid gets sick or your boss schedules a 6 a.m. call with Singapore and the week implodes by Tuesday lunch. Now what?

Most training apps treat the calendar like a contract. Everything was equally important when it was prescribed, so everything is equally important now. You miss Tuesday's bike, the app leaves a gap and continues on Wednesday as if nothing happened. By Thursday you're behind. By Saturday you're trying to cram. By Sunday you're tired, hurt, or both.

Rift treats the calendar like a coach would. Some sessions are the load-bearing walls of the week. The rest is filler. When the week implodes, you protect the walls. You let the filler go.

The four sessions that drive 80% of your result

I didn't invent this. Coach Rob Wilby of Team Oxygen Addict has put more than a thousand first-time Ironman finishers across the line using a single core idea: four key sessions per week deliver 80% of the training value. Everything else is filler — useful when you have time, optional when you don't.

For an Ironman or 70.3 build, the four keys are:

  1. The long ride. The bike is where you'll spend the most time on race day. Get this one done.
  2. The long run. Mid-week, on fresh legs — not stacked after the long ride. The long run is for aerobic capacity, not for proving you can suffer.
  3. The endurance swim. Continuous pacing, building toward race-distance time at race-distance effort.
  4. One additional key bike aimed at building power — usually a sweet-spot session.

That's the load-bearing structure. Everything else in your week — second runs, easy swims, strength work, mobility, recovery spins — is filler. Valuable filler. But filler.

The idea isn't that filler is worthless. It's that when life forces a trade-off, you preserve hierarchy: keys first, then filler in priority order. A week with all four keys plus zero filler is still a productive week. A week with zero keys plus six pieces of filler is a week you mostly wasted.

What Rift actually does with this

Every session Rift generates gets two attributes stamped on it: a key_session boolean and a protection_priority integer. The four keys get key_session: true. Filler gets key_session: false. Within each group, sessions get ranked by how irreplaceable they are.

The simplified ranking looks like this:

// Conceptual — actual implementation has more guards
const SESSION_PRIORITY = {
  // KEY SESSIONS — protected first
  long_ride:           { key: true,  rank: 1 },
  long_run:            { key: true,  rank: 2 },
  endurance_swim:      { key: true,  rank: 3 },
  key_bike_power:      { key: true,  rank: 4 },

  // FILLER — sacrificed first
  second_run_aerobic:  { key: false, rank: 5 },
  easy_swim_technique: { key: false, rank: 6 },
  brick_run:           { key: false, rank: 7 },
  strength:            { key: false, rank: 8 },
  recovery_spin:       { key: false, rank: 9 },
  mobility:            { key: false, rank: 10 },
};

When you mark a session as missed, the priority data follows the session — so any rebalancing knows what was structural and what was filler. You can ask the AI coach to rebalance the rest of the week: tell it "missed Tuesday's intervals — can you reshuffle?" and it preserves the key sessions, drops or trims filler, and explains the changes. Chasing a missed session by duplicating it is one of the fastest ways to over-train, so the coach moves things rather than stacks them.

What this changes in practice

The week with all four keys hit and zero filler hit gets graded as successful by Rift. Most apps would grade that same week as incomplete because the calendar shows gaps. Rift looks at the gaps and says: those were filler, you protected the structure, you're good.

The week with three of four keys missed and all six pieces of filler hit gets graded as concerning. The calendar looks full. The training that actually matters didn't happen.

This is the single biggest difference between Rift's plan generator and the generic ones. We don't measure your week by whether the calendar is full. We measure it by whether the load-bearing structure is intact.

The Tuesday rule

There's a corollary that falls out of all of this and it changes how you should think about your own training:

"Your job isn't to cram in as much training as you can. Your job is to protect tomorrow's training. The perfect week is the one you can repeat twenty times in a row."

Rob Wilby said that. It's the principle behind the whole framework. If today's session ruins tomorrow's session, today was a failure regardless of how good the session felt. The hero week you survive once isn't the week that builds the fitness. The boring week you repeat twenty times in a row is.

Rift's plan generator is built around this. Every week's design is tested against an absorption ceiling. If a week would predictably leave you broken by Tuesday, the week gets rebuilt before it ever ships to your calendar.

What this means if you're using Rift

Three practical things change about how you use a training tool when it works this way:

  1. You stop chasing missed sessions. If you miss filler, let it go. If you miss a key, Rift will reshuffle the week to preserve it.
  2. You start protecting your recovery day. Rift treats it as a session, not as the day you "make up" missed work. Try to override it during build phases and the app pushes back.
  3. You finish weeks feeling you could have done more. That's the absorption ceiling working as designed. The week you wanted to push harder but didn't is the week your fitness compounds.

Most apps make you feel like you need to crush every week. Rift makes you feel like you need to survive every week. Different posture, much better outcomes over a 24-week build.

TestFlight opens in July. Founding-member spots are $9 a month for life. Spots are below.

— Eli