# Codex interface proposals

1 October 2026 · exploration, not an implementation decision. All training examples are synthetic.

The redesign covers the whole app and prioritises logging. Every direction preserves Cadence's existing training features and data; the difference is what stays visible, where tools live and how the session moves.

## Relay

**A workout feels like moving through a clear sequence of stations.** One exercise owns the screen. Setup, target and the current result are readable together; the full workout is one native overview sheet away.

Visual language: a light cool-neutral ground, deep petrol text, blue action tint, SF Pro with rounded numerals in the current-set moment. A broad current-exercise heading and a quiet sequence strip replace the scrolling pile of expanding entries. Native navigation bars, sheets and controls remain familiar. The dark appearance uses semantic dark surfaces rather than a black/neon theme.

Navigation: **Today / Plan / Progress**. Settings is a toolbar action on all top-level screens. Today shows the next program session, an explicit Resume action when a session exists, recent session and week activity. Plan owns routines, programs and the exercise library. Progress has native **Trends / History** segments, records near the top and a drill-down calendar.

Active workout: top bar has Minimise, session name, elapsed time and Finish. A labelled exercise-position strip says “Exercise 2 of 6”, with an Overview button. The current exercise title and machine/setup are directly below. Planned target is separate from editable results. A simple compact completed-set table anchors previous results. Current kg/reps/effort use native fields. Log set stays in the bottom safe area. Rest is a labelled stable bottom state with Skip and +15; no action moves when a row collapses.

The repeated loop: check setup → inspect target/previous result → enter results → Log set → rest → next set. Supersets switch to the next grouped exercise with an explicit “Next: Seated row” label. The native overview supports jumping, reordering, replacing and adding exercises. Completed results stay editable through a labelled set-history action; undo remains available.

Across the app: routine editing uses compact exercise prescriptions that open focused native editors; history uses the same columns as logging; exercise detail brings records and setup forward, then artwork. Cardio and intervals use their own current activity controls and units. Imports and recovery use the same plain language and grouped forms.

Strength: the most direct sequence and stable thumb position. Tradeoff: seeing the entire exercise ledger requires opening the overview; the user must like a focused flow. Moderate implementation effort, mostly presentation and routing. No schema change is inherently required.

Raised disciplines: plan/current-state separation from orienteering; a single clear numeric focus from the type specimen; full action labels from consumer interfaces; consistent machine identity from the catalog; shared chart scales from the folio.

## Ledger

**The exercise is a stable sheet of planned and completed sets.** Each set occupies the same row before and after completion, so the interface never jumps when logging.

Visual language: crisp white and pale blue-grey, dark blue text and an indigo action tint. SF Pro throughout, with tabular numerals and strong column headings. Flat native list rows carry the data; generous exercise headings supply hierarchy instead of micro-labels. The dark appearance preserves column separation with semantic separators and readable text.

Navigation: **Train / Routines / History / Progress**. Train is the single daily launch destination, with next session, explicit resume and open workout. Routines owns plans, programs and exercises; history and progress remain direct destinations. Settings appears in top-level toolbars.

Active workout: session bar and exercise heading remain stable. Setup note sits below the name. A table shows Set, Previous, kg, Reps and completion state. The current row is identified by text, an outline and the edit affordance, not colour alone. Exact entry opens native number fields, with effort and set type in a details disclosure. A labelled Complete set action follows the current row; completion replaces the editable fields with results without changing row height. A fixed rest bar sits above the home indicator. The next exercise is visible below the ledger.

The repeated loop: tap a row → edit actual kg/reps → Complete set → rest → next row becomes current. A native list overview supports all-exercise jumping and supersets. Tapping a completed row edits or undoes it; a trailing menu handles set type and deletion. Long ledgers scroll naturally without automatic list-height changes.

Across the app: routines reuse the same sheet with target values; history reuses it with actual values and edit mode. Progress starts with an exercise selector and records, then time-series charts and calendar. Library/search, machine setup and archive controls live inside Routines. Timed/cardio activities get unit-specific rows rather than strength columns. Imports/backups/Health remain native forms.

Strength: maximum auditability and comparison while training. Tradeoff: more information is visible at once; at accessibility text sizes, the table must become labelled stacked rows. The sheet metaphor is familiar and less expressive than the other options. Moderate effort; row behaviour and keyboard handling need careful regression checks.

## Wayfinder

**The screen answers one question: what do I do next?** A strong yellow state band gives the current task or rest time; the entry area below stays plain and precise.

Visual language: saturated warm yellow owns the active task band, with nearly black text, neutral white entry surfaces and native SF Pro. Arrows are navigation cues with labels, never decoration. Dense details stay quiet. Yellow does not mean success or failure; each state also has text and a symbol. Dark appearance retains a constrained yellow band over semantic dark surfaces, with no glow.

Navigation: **Next / Plan / Review**. Next contains the next program session, an explicit resumed workout and an open-workout action. Plan contains routines, programs and exercise management. Review contains History, Records, Calendar and Trends as labelled sections. Settings remains a toolbar action.

Active workout: native session bar above a full-width band reading “Bench press · Set 2 of 3” with a labelled next-exercise cue. Large, readable kg and reps fields sit on the plain ground. Target, previous result and equipment setup use normal sentence-case text. Secondary effort, plates and notes disclose beneath. The full-width Log set action is anchored at the bottom. After logging, the band becomes “Rest · 1:30”; entry remains stable and Skip/+15 remain visible. One native Overview button opens the numbered workout list.

The repeated loop: read the band → record results → Log set → follow rest band → continue. A superset updates the destination band to the next grouped exercise; it never implies a geographic map. During timed activities the band carries the actual interval state and controls. Session completion gives a readable finished-work summary with access to existing records.

Across the app: programme sequences use numbered native rows with explicit next-session labels; routines group targets by exercise. History and progress use the same readable state vocabulary without saturated bands everywhere. The exercise library, settings, backup and import forms stay standard and calm.

Strength: fastest at-a-glance orientation and a more distinctive visual identity. Tradeoff: the yellow band is assertive; secondary tools require a deliberate disclosure. Moderate to high effort because the current task/rest state presentation changes across strength, supersets and intervals.

## What every implementation must verify

Native safe areas and navigation, 44-point controls, Dynamic Type, VoiceOver, contrast in both appearances, Reduce Motion, keyboard Next/select-all, exact decimal entry, undo and completed-set edits, supersets, restore/relaunch, setup and machine identities, exercise replacements, active-bar/tab coexistence, full imports/backups/recovery, and unit-correct cardio/interval forms.

These are proposed flows, not functional prototypes. No performance improvement or tap-count claim has been measured. The three screen comps illustrate the current strength logging moment; the navigation and secondary-screen plans above define their whole-app reach.

## Clarifications from concept review

Relay and Wayfinder are two visual presentations of a focused logging architecture; Ledger is the main structural alternative. Claude’s independent directions broaden the comparison further. In every screen, show the planned load or progression recommendation separately from editable actual results and the previous session.

Shared secondary flows: the workout’s native menu includes Discard with confirmation; a set’s labelled details expose set type, RPE/RIR, notes, deletion and undo; Overview exposes exercise management and set history. Live records appear as a concise inline success message after logging. Progress/Review includes bodyweight and custom measurements, with add and delete. Wayfinder’s Overview explicitly includes Set history and Edit sets, rather than leaving completed-set management implicit.

Generated comps are visual approximations. Their input shapes, glyphs, gradients and density are not approved SwiftUI specifications; native controls, accessibility layouts and both appearances must be verified during implementation.
