Bear

Playing With Dark Magic

4th May, 2026
  1. Home
  2. Blog
  3. Dev Logs
  4. Playing With Dark Magic

Okay, this has been a bit of a headache.

This weekend, I have mostly been spending more time working on the wizard.

I decided that even if this was meant to be a basic plan, it wasn't enough to just identify the exercises.

I also needed to work out:

  • Sets
  • Rep scaling
  • Weight scaling
  • Time scaling
  • And de-loading

The idea is, when you generate a plan it'll first pick the exercises based on your criteria - then, for each exercise:

  1. If you've never done it before, or it was more than 60 days ago - start with sane defaults.
  2. If you have done it before recently:
    • If you failed more than half your sets, reduce the weight / reps by a percentage.
    • If you failed some of your sets, keep the same workout.
    • If you achieved the full workout, progress reps to max reps. When you hit full sets + full reps, increase the weight by 5-10%.

The Yogi Pump generated plan - highlights, exercises with calculated sets/reps/weights, time-based and cardio entries, and the muscles view

In the future, I want to make it so that each time you do the plan, it recalculates based on the last time you did it.

Honestly there's a load of potential with this, so for now I'm going to wrap up, release and get feedback first :)

Thanks for reading.

More like this

  1. Love When a Plan Comes Together

    Love When a Plan Comes Together

    May 10, 2026

    Revamping the workout plan management UI now that the wizard can generate them - plus info buttons, session awareness, and what's coming next.

    Read more
  2. The Suns Out

    The Suns Out

    Apr 29, 2026

    The workout plan summary screen is almost done - and the next bit is figuring out how to calculate sets and reps from your history.

    Read more
  3. Bearly Holding It Together

    Bearly Holding It Together

    Apr 22, 2026

    Android's 16KB page size deadline is forcing a full React Native upgrade, so I'm extracting the native modules into self-contained libraries first.

    Read more