# Cadence, inspired by Motra

Jai rejected the entire first round and chose Motra AI (iOS) as the main visual reference on 1 October 2026. This round uses one confirmed visual direction and compares three logging structures. They are Codex-authored browser prototypes with synthetic data, not native app screenshots, Claude outputs, or approved production designs.

[Interactive comparison](round2.html) · [Actual reference screenshots](references.html)

## Reference evidence

Primary source: [Motra AI’s developer screenshots on the App Store](https://apps.apple.com/us/app/motra-ai-workout-fitness-coach/id1548577496), inspected 1 October 2026. Screens 2, 4, 5, 6, 7 and 8 were viewed at readable size. Screen 2 shows grouped white exercise sections, muted ground, movement thumbnails, small completion indicators and a compact set table. Screen 4 shows a routine prescription list and strong Start action. Screen 7 shows exercise charts with a period switch. These are promotional screenshots; live interactions and freshness relative to the installed app are unverified.

Transfer the white/grey material system, scale, spacing, thumbnail rhythm and restrained purple accents. Apply purple to Cadence’s own controls and locally sourced training context. Cadence’s manual entry still requires an explicit logging action. Existing history provides previous results and existing progression rules provide recommendations.

## Proposal contract

- **THESIS:** Make the current set quick to record while keeping its exercise, prescription and previous results understandable.
- **OWN-WORLD:** Motra AI’s iOS training interface is the confirmed reference: quiet grey ground, white exercise groups, small movement illustrations, compact numeric rows and restrained purple actions. This is an Operate surface; precision and repeated entry govern the treatment.
- **STORY:** Open or resume Upper A, enter actual weight/reps, explicitly log, rest or skip, undo or correct, then review and finish. The common navigation gives the workout its surrounding app context.
- **FIRST VIEWPORT:** The comparison opens on an active synthetic workout. Grouped expands Bench press beside neighbouring exercises; Focus puts the exercise title above its sequence and a single current-set workspace; Compact presents multiple exercise tables. At narrow widths the selector shows one proposal; desktop shows all three.
- **FORM:** Flat white groups on grey, rounded fields and surfaces, native iOS-style sans text, line SVG controls and licensed movement artwork. Purple means action/current state; green plus checks means completed results. Unlogged sets have an explicit Log action.

**Quality bar:** Match the readable hierarchy, whitespace and exercise grouping of official Motra screenshot 2, the prescription/action clarity of screenshot 4, and the chart/period clarity of screenshot 7. Reference screenshots establish visual craft, not verified Motra behaviour. Native implementation must additionally preserve Cadence’s capabilities, Dynamic Type, VoiceOver, dark appearance and platform touch targets.

## Three structures

| Proposal | Main difference | Practical tradeoff |
|---|---|---|
| Grouped | Current exercise expands into an editable set group; nearby exercises stay compact | Best starting point for a Motra-like Cadence; individual group expansion can conceal distant results |
| Focus | One set gets the main workspace, with its matching previous result and an exercise overview | Easier repeated entry; more navigation for corrections, swaps and supersets |
| Compact | Multiple exercise tables show past and current results together | More workout context; less room at larger text sizes |

All three share the same visual system. Differences are task structure, visible context and where completion happens, not colour variations. The recommended starting point is Grouped; Focus may also be useful as an optional presentation inside the same session.

## Whole-app plan

- **Today:** next scheduled session, Start/Resume, recent training and settings. Programs determine the next routine; this is not a second routine editor.
- **Routines:** routine and program lists, clear prescriptions, a distinct Edit action, exercise library, setup and machine identity. Imports belong beside creation and editing.
- **Workout:** persistent immersive session, exact set results, planned targets kept separate, set types/RIR/notes, supersets, cardio/intervals, swaps/reordering, rest deadline, undo and corrections. Minimise preserves the active session; Finish has a separate review. Existing Lock Screen controls continue.
- **History:** dates and editable completed sessions, with original exercise identities retained.
- **Progress:** exercise records and meaningful personal charts, calendar, bodyweight and custom measurements. Progress comes from Cadence’s stored results.
- **Settings:** backup/export/import and recovery, units, preferences, credits and optional Apple Health actions.

## Implemented browser scope

Each proposal has independent in-memory demo state. Weight and reps accept keyboard/numeric entry; Enter logs a valid uncompleted set. Blank reps are blocked. Grouped and Compact expose editable completed-set fields; Focus edits the displayed current set. Actual logged count and volume follow actual values, not prescriptions. Logging starts a 90-second rest; Skip continues and Undo restores the last logged set. Minimise opens Today; Resume returns to the active session. Finish reviews actual totals, then adds a summary and session to that proposal’s demo History.

Today, Routines, History and Progress are navigable in every proposal. Exercise notes can be edited, and Grouped/Compact can add sets. The library searches only the four demonstrated Upper A exercises. Lower A opens a prescription sheet; its workout is outside this comparison. Settings opens explanatory sheets for fixed kilograms and 90-second rests. Progress metric and period selection change the synthetic chart; its history is separate from current-workout totals.

The whole-app plan above remains a native implementation plan. This prototype does not implement native persistence, Apple Health, Live Activities/Lock Screen controls, backup/recovery, full routine/history editing, the full exercise library or every existing logging mode. Browser refresh discards state. No native app source, stored database or real training data is changed.

## Observed proposal styling

These describe `round2.html`, not approved production tokens. No `DESIGN.md` or design-system sidecar is created for this unapproved round.

| Material | Observed treatment |
|---|---|
| Palette | White groups `#fff`; app ground `#f5f5f7`; ink `#1d1d1f`; secondary text `#64646b`; dividers `#e6e6e9`; purple action `#6c3caf` with `#f0eaf8` tint; completed green `#238347` with `#edf7f0` tint; invalid-entry red `#a52e30` |
| Type | `-apple-system`, BlinkMacSystemFont, SF Pro Text, Helvetica Neue, Arial, sans-serif; body 15px/1.45; app headings 28px/700; workout/section titles 17px/650; exercise names 15px/650; secondary copy 11–13px; tab labels 10px; Focus entry 28px/600; numeric results use tabular figures |
| Spacing | App gutters 16px, reduced to 13px at ≤420px; group rows generally 14px padding; recurring 8px/12px gaps; groups separated by 9–12px; primary buttons 12px × 16px padding |
| Shapes and depth | Groups 16px radius, primary buttons 12px, standard fields 8px, thumbnails 11px (Compact 9px), sheets 24px top corners; groups are flat with tonal separation, while sheets and the comparison phone frames have soft shadows |
| Targets and motion | In-phone icon buttons and Log actions 44×44px; fields ≥44px tall; Notes, Undo, Skip and chart periods ≥44px tall; primary actions ≥48px; purple visible-focus outline; sheet entrance 240ms, button transitions 180ms; reduced motion disables animation/transitions |

**Explicit Log rule:** Actual results become completed through a Log action; completed rows carry green checks. **Actual Totals rule:** Count and volume are derived from logged weight × reps and update with valid corrections. **Session Continuity rule:** Minimise and Resume retain the current browser session; Finish has its own review.

The comparison-board controls remain 38–40px tall and the chart metric select 36px tall. Small 10–11px captions and those targets are prototype limits, not defaults for future native screens. Native Dynamic Type, VoiceOver and dark appearance are unverified here; browser ARIA labels, focus treatment and reduced motion are partial demonstrations.

## Verification evidence

Root-agent browser checks confirmed Grouped `73.5 × 11` → `1,948.5 kg` and Undo → `1,140 kg`; Focus `60.25 × 6` → `1,501.5 kg` and Undo → `1,140 kg`; Compact `63.25 × 11` → `1,835.75 kg`, then editing actual Set 1 to `64.25 × 10` → `1,878.25 kg`, matching finish review, summary and History. Blank reps were rejected; metric and period selection worked. Checked layouts had no horizontal overflow at 791px and 390px.

Seven captured review screens are retained under `build/motra-review`, covering the three structures at the user’s 791px viewport, desktop Workout/Today/Progress at 1280px, and mobile at 390px. A static detector returned no findings; a fresh finish review nevertheless identified four material corrections that were applied: explicit Log versus completed checks, matching Focus previous Set 3, 44px Notes/Undo/Skip/period targets, and Focus sequence below the exercise title. The reviewer’s verdict scored all four fixes **resolved**, with disposition **ship** at the scope of that fix list. This is not native-app verification or user approval. The final desktop capture shows all three rest/Undo states; `comparison.png` preserves the initial logging comparison.

## Provenance

The previous real Claude run reported `claude-opus-5[1m]` (canonical model `claude-opus-5`), not Opus 5.5. Claude authored text proposals. Codex generated their first-round mockups, and owns the visual shortcomings of that round. This second round has not been sent through another Claude run.

Reference images remain remote research references. The prototype’s local movement SVGs are decoded first poses of Cadence’s existing licensed artwork, with full [credits](assets/CREDITS.md). No new native artwork mapping or asset is introduced.
