six things got done: Settings tab redesign (part 2): new features. Tap any of these to read the whole thing.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Four screens rebuilt in the new look, one separate change each:
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.
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.
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.
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.
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.
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.
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.