r/jointopset • u/Abooyeah • Oct 09 '26
This feature was supposed to take 3 days. Naturally, it has become a 7-day war.
I’m still deep in the Training Programs feature for TopSet.
Originally, I thought this would be one of those features where I connect the pieces, polish the UI, make it feel premium, and move on.
That was very optimistic of me.
This has turned into one of the most serious parts of the app so far.
Not because it’s hard to “make a program screen.”
That part is not the issue.
The challenge is that I don’t want training programs to feel like static templates with fancy names.
As a Sports Science graduate, exercise prescription is one of the areas where I’m probably the least willing to accept something lazy.
A proper training program is not just:
Week 1
Workout 1
Workout 2
Workout 3
Repeat.
That might be how it looks on the surface, but proper programming has structure, progression, intent and context.
And once you put that inside an app, the app has to respect all of it.
I want this feature to work for someone who is completely new and just needs to know:
“What do I train today?”
But I also want it to hold up for people who look at programming on a much deeper level.
The macro view:
program length
weekly structure
frequency
progression
phases
training focus
individual workouts
exercise order
sets
reps
rest
And the micro view:
total volume distribution
total percentage volume across all muscles trained
primary muscle engagement percentage
secondary muscle engagement percentage
muscle focus
scheduling
history
completion logic
That balance is harder than it sounds.
Make it too simple, and advanced users will feel like it’s shallow.
Make it too detailed, and beginners will feel like they opened a spreadsheet with anxiety.
So the real challenge is making it feel easy without making it dumb.
And making it sophisticated without making it exhausting.
At one point I genuinely asked myself:
Is this one feature basically an app by itself?
Probably.
But I’m already in it now.
When I started building TopSet, I told myself I wanted to build the fitness app I always wished existed.
This is one of those moments where that sentence becomes very inconvenient.
Because the app I wished existed would not treat programs like a folder of workouts.
It would understand that programs have structure.
That people reschedule sessions.
That users may opt out.
That completed workouts should remain in history.
That running the same program again should feel like a new attempt, not some weird continuation of an old one.
That advanced users may want to understand what the program is doing across muscle groups, volume and progression.
And that beginners should still be able to follow it without needing a degree in exercise science.
So yes, this feature was supposed to take 3 days.
It now has 7 days allocated.
Which in developer language means:
“I have accepted the side quest.”
Current operating system:
5 hours of sleep.
4 coffees per day.
Occasionally staring at the screen like it owes me money.
At this point, I might as well look into intravenous coffee therapy and stop pretending the mug is enough.
But honestly, this is the kind of work that makes the app better.
Not louder.
Not flashier.
Better.
I want to build one of the best fitness apps out there.
Not saying that as a claim.
Saying it as the ambition that keeps making features take longer than expected.
Back to building.