← back to the timeline
Jun 18 2026

six things got done: Settings tab redesign (part 2): new features. Tap any of these to read the whole thing.

Settings tab redesign (part 2): new features

With Settings now looking right, it was missing things people actually need, and a couple of useful screens were buried.

Done
the problem

With Settings now looking right, it was missing things people actually need, and a couple of useful screens were buried. A design panel of agents reviewed the page and suggested the additions; this delivers the ones we picked.

what I changed
  • Training days and your goal can now be changed right from Settings. Before, the only way was to redo onboarding. Your change is used the next time you regenerate your program (it doesn't regenerate on its own).
  • A "Review targets" row reopens the targets screen any time, it used to only show up as a one-time banner you couldn't get back to.
  • A new "Sex" field (male/female) that the AI coach actually uses, so a first workout isn't accidentally weighted for the average man. Leaving it blank keeps today's behaviour, so nobody is forced to answer.
  • A real "Reset all data" button (red, with an "are you sure?") to start fresh, this used to be hidden in the developer-only screen. It runs the exact same wipe code as the developer version (one shared function), so the important part
    • clearing your signed-in session, can't drift out of sync.
how I tested it

Each feature was built by its own agent in an isolated copy, one pull request each, and I built every one here before merging, the reset was also built in Release mode to prove it works outside developer builds. Then I built the whole app together (BUILD SUCCEEDED, iPhone 17 Pro / iOS 26.5) and took a real screenshot of the live Settings screen.

Merged to main, 498 (program controls), 499 (sex field), 500 (release-safe reset), all part of 494. The umbrella stays open until final visual sign-off.

Settings tab redesign (part 1): the look

The Settings tab still looked like a plain old iOS list while the rest of the app had moved to the bold black-and-lime look.

Done
the problem

The Settings tab still looked like a plain old iOS list while the rest of the app had moved to the bold black-and-lime look. This makes Settings match, and fixes a control that felt clunky.

what I changed

The whole Settings screen was rebuilt in the new look: pure black, big bold numbers for your bodyweight/height/age, sharp-cornered cards, and the lime accent used only on the "add" action. The equipment list's old on/off switch for "bodyweight only", which was confusing and, being orange, looked like a warning, is now a clear two-button "LOADABLE | BODYWEIGHT" choice. The "Add Equipment" sheet got the same treatment. Only the looks changed: editing your details, swiping to delete equipment, re-scanning, and regenerating your program all work exactly as before.

how I tested it

Two agents rebuilt the two files in isolated copies, one pull request each. I built the app here (BUILD SUCCEEDED, iPhone 17 Pro / iOS 26.5) and took a real screenshot of the live Settings screen to confirm it looks finished before merging, the same "show it for real" check the abandoned redesign skipped. I also tightened the cards to the app's sharp 4pt corners after a first pass came out too rounded.

Merged to main, 496 (the screen) and 495 (the add-equipment sheet), both part of 494. Next: a few small new Settings features (training-days & goal editing, a re-open for the targets review, a sex field, and a release-safe reset), then final sign-off.

Redesign finished: every workout screen now matches

After the first few screens, the rest of the workout still looked like the old app.

the problem

After the first few screens, the rest of the workout still looked like the old app. This finishes the job, every remaining workout screen now wears the same bold black-and-lime design, so the whole workout finally feels like one app instead of a patchwork.

what I changed

The remaining eleven workout screens were rebuilt in the new look: the paused screen, the floating "now training" pill, the weight-adjust sheet, the in-workout plan list, the "swap this exercise" chat, the manual/past-workout log, the "my gym doesn't have this weight" sheet, the "how did that set feel?" sheet, and the calibration, goal-review, and "coach is offline" screens. As before, only the looks changed, every button, timer, save, and safety rule kept working exactly as it did. Two safety details were specifically protected: the "missing permanently" weight option stays the quiet, secondary choice (so nobody edits their gym profile by accident), and the rule that you must pick an intent before logging a freestyle set is untouched.

how I tested it

Each screen was rebuilt by its own agent in an isolated copy, one pull request each (#480, #481, #483–#491), all checked to build, a few agents' sandboxes couldn't run the build, so I built those here before merging. Then I built the whole app together one last time (BUILD SUCCEEDED, iPhone 17 Pro / iOS 26.5) and took real screenshots of the live tracker, rest timer, and summary screens to confirm the real app matches the approved design. All fifteen screens plus the shared design kit are now on main, tracked under #473. A short list of small look-and-feel judgement calls is noted on that issue for a final eyeball.

The redesign goes live: the workout screens you see most

With the shared look-and-feel kit in place, it was time to actually make the workout screens wear the new bold black-and-lime design.

the problem

With the shared look-and-feel kit in place, it was time to actually make the workout screens wear the new bold black-and-lime design. We started with the screen you stare at most, the live "tracker" where the app tells you the weight and reps for the set you're on, then did the next three around a workout: the rest timer between sets, the screen before you start, and the summary after you finish.

what I changed

Four screens rebuilt in the new look, one separate change each:

  • The live set screen now shows the weight in a big fixed slot, so "17.5" finally displays properly instead of getting squished, with one bright lime button to log the set. Everything it used to do, tapping to change the weight, "my gym doesn't have this", the coach's reasoning, the voice note, still works the same.
  • The rest timer is a big number inside a thick lime ring with a "finishes at 4:32 PM" line.
  • The pre-workout screen got a cleaner streak, a tidy list of today's exercises, and one Start button (all the welcome-back and review reminders still appear).
  • The after-workout summary leads with your total weight lifted, your records in gold, and a short note from the coach. Only the looks changed, none of the buttons, timers, or saving logic was touched.
how I tested it

Each screen was built by its own agent in an isolated copy of the project, each checked that the whole app still builds, and merged separately: tracker (#476), rest timer (#478), pre-workout (#477), summary (#479), all part of the redesign tracker #473. One screen's agent couldn't run the build itself, so I ran it here and confirmed it passed. I also grabbed a real screenshot of the live tracker from the actual app to confirm it matches the approved design. Still to come: the paused screen, the "now training" pill, and the smaller edit/log screens.

Starting the workout-screen redesign (the look-and-feel foundation)

The workout screens never had one clear look, different screens felt like different apps, so you couldn't really say what "the app" looks l…

the problem

The workout screens never had one clear look, different screens felt like different apps, so you couldn't really say what "the app" looks like. We explored a fresh, bold design (nicknamed "Brutalist": pure black, big chunky condensed lettering, and one bright lime-green colour used only on the button you actually press), showed it as picture-perfect simulations, and it got the thumbs up. Now we're putting it into the real app, one screen at a time.

what I changed

This first piece is just the shared foundation, the colours, the fonts, and the small reusable building blocks (buttons, the number style, cards, labels, the rest-timer ring), so every screen can be built from the same kit and finally look like one app. It also bakes in the fix for the weight number that used to get squished (like "17.5" collapsing): numbers now sit in fixed-width slots that never shrink. Nothing you can see changed yet, no existing screen was touched, this is just the box of parts the screens get rebuilt from next.

how I tested it

Built as one small, additive change on its own branch and pull request (#474, part of the redesign tracker #473), confirmed the whole app still builds clean (BUILD SUCCEEDED on iPhone 17 Pro, iOS 26.5), then merged. Next up: the live workout ("tracker") screen gets rebuilt first, and we'll double-check it matches the simulation before doing the rest.

Tidying up what happens when you pause a workout

Pausing a workout mid-set felt messy.

Shipped
the problem

Pausing a workout mid-set felt messy. Three things were wrong. First, when you hit "Pause" right there on the screen, the app dropped you back on the "Start Workout" page, so it looked like your workout had vanished. The proper "Workout paused" screen only showed up if you left the tab and came back. Second, there were two separate bits of code that both did "pause," which is the kind of thing that quietly drifts apart over time. Third, the paused state was announced in six different places using five different sets of words ("Paused Session", "Session Paused", "Unfinished Workout", and so on), and several of them had their own "Resume" button, so being paused felt like it was coming at you from everywhere at once.

what I changed

Four small, separate changes. (1) Pausing in place now lands you on the same single "Workout paused" screen every time, whether you stayed put or wandered off and came back. (2) The two pause code-paths are now one. (3) The little amber "paused" banner now takes you straight to that one paused screen instead of detouring through another page (and I deleted the now-unused detour code). (4) Every place that mentions being paused now uses the exact same words, "Workout paused", "Resume workout", "Discard workout", with the word "Resume" kept only on the one screen that actually resumes. Two pop-ups that mean genuinely different things ("we couldn't match your session", "session not found") were left alone on purpose, because making them say "paused" would be a lie.

how I tested it

This was designed by a panel of agents (four designs, judged, then merged into one surgical plan), then built as four bite-sized pieces, each with its own test and an independent review before it went in. The whole app's test suite passes (TEST SUCCEEDED on iPhone 17 Pro). A note for next time: the automated build runner kept stalling on the simulator and one run silently used a simulator version this Mac doesn't have, so I re-ran the tests by hand against a real one to be sure they actually passed.

Done and merged. Filed as issues 465, 466, 467, 468; shipped in pull requests 469, 470, 471, 472; all four issues closed.