Client mobile / fidelity pass

The same thirteen screens, built on a real design system.

Identical layouts, states and copy to the selected direction — re-rendered against a typeface, a type scale with a weight range, 4pt spacing, a radius ramp, three elevation levels and an imagery treatment. The point is to judge whether the direction survives contact with product fidelity, and to give implementation something it can build from.

Colour is unchanged. Every value comes from the brand colour standard — periwinkle fills carry ink, white-text controls use #4E49E1, and at most one --brand fill exists per screen (here: the paused-session dock). Two muted greys and the online green were darkened to clear 4.5:1, which the original narrowly missed.

Type is a proposal, not a decision. IBM Plex Sans, paired with IBM Plex Sans Arabic — chosen because Arabic and RTL are a committed requirement and Plex is one of very few families whose Arabic companion was drawn alongside the Latin. Coach voice is Plex Serif italic.

Elevation carries the product rule. At most one raised surface per screen, and it is the one thing you have to decide about. The habit tray, informational context and the progress surfaces are flat. On “nothing due” and “all done” nothing is raised at all — the screen is literally at rest.

Today

The home surface. Never more than one thing to do on screen — shown across its states, including a session paused and docked for resume. Repeatable habits live in a quiet tray below the card; a habit never becomes the card itself.

one thing due
9:41
Good morning, Sam
Tuesday 16 July · 11 days showing up
Coach Ahmed set your focus
Today's workout
Upper body · 6 exercises · about 45 min

Slow on the negatives today — quality over load.

Water3 of 8

Nothing else due until your check-in tonight.

nothing due yet
9:41
Good morning, Sam
Tuesday 16 July · 11 days showing up
You're all set for now
Next up — check-in at 8:00 pm
Water5 of 8
all done
9:41
Evening, Sam
Tuesday 16 July · 12 days showing up
That's it for today
Nice work — you showed up.
Upper body · logged
Water7 of 8
missed / overdue
9:41
Hey Sam,
No stress — let's pick up where you left off.
Still open
Yesterday's workout
Upper body · 3 of 6 exercises done
Offline · 2 sets queued to sync
Water1 of 8
minimized session on today
9:41
Good morning, Sam
Tuesday 16 July · 11 days showing up

“Finish whenever you're ready — I've kept your place.”

— Ahmed
Upper body · paused
set 2 of 3 · 12 min ago

Guided session

The live workout: Timeline by default, a manual Focus mode, and the come-back moment when a deferred exercise is re-presented.

timeline (default)
9:41
Upper body exercise 3 of 7 · then done
Bench press
Set 2 of 3
8reps
20kg

Slow on the negatives. — Ahmed

Not available?
Next — incline dumbbell press
focus mode
9:41
Focus
pull to peek
Bench press
Set 2 of 3
8reps
20kg
Not now
coming back to a deferred set
9:41
Leg press
Set 1 of 3
12reps
80kg
Still not free?

Last one to circle back.

The coach thread

The seam: a focused conversation, one tap from the avatar. It invites and reflects, but never carries the instruction to act.

coach thread
9:41
A
Ahmed
Online now
How did upper body feel?
Upper body · logged · 12 days showing up
Good — bench felt strong, shoulders a bit tight.
Seen 9:32
Noted — I'll ease the overhead work next session. Proud of you.
Message

Onboarding

First run teaches the loop by running it: meet the coach, then do one real action before ever reaching Today.

meet your coach
9:41
A
Meet Ahmed, your coach

“Hi Sam — glad you're here. We'll keep this simple: one thing a day, and I'm right here whenever you need me.”

Most days this takes two minutes.
We'll tell you when there's something to do.

your first action
9:41
Your first check-in
How are you feeling today?
Great
Good
Okay
Rough

That's a log. That's the whole loop — one tap, done.

Notifications

The app is closed most of the day, so the notification is the product surface. Every ping is coach-framed, and simple check-ins are answerable inline.

lock screen
9:41
9:41
Tuesday, 16 July
C
CoachMenow
Ahmed set your focus
Today: upper body. Slow on the negatives.
C
CoachMe8:00 am
Evening check-in
How did today go? Answer right here.
GreatGoodOkayRough

Journey

The quiet third surface, off the main path — where the data we keep off Today lives. Momentum is accumulation, never a streak that punishes a gap, so the grid reads as density rather than pass/fail.

journey
9:41
Journey
You've shown up 12 days
4 weeks in · keep going at your pace
Last 4 weeks
Milestones
First 10 workouts
logged this week
First month complete
3 days ago
This week
3 of 4 sessions

“Strong on push days — let's build on that.” — Ahmed

The system underneath

What the screens above are built from. This is the part implementation needs — the original set had eighteen ad-hoc type sizes, nine radii, one font weight and no elevation, so nothing above could be rebuilt from it consistently.

Type scale

34Hero--t-hero
26Screen title--t-xl
21Card title--t-lg
17Section / action--t-md
15Body--t-base
13Secondary--t-sm
12Caption--t-xs
11 labelEyebrow--t-2xs

Weight rule

Regular 400Body, long copy
Medium 500UI labels, metadata
Semibold 600Titles, buttons
Bold 700 · 8 · 20Data only, tabular
Serif italicThe coach's voice

One weight for one job. Bold is reserved for numbers the client acted on, so weight itself signals “this is your data”.

Space · 4pt grid

4
8
12
16
20
24
32
40

Eight steps, no values in between. Replaces the original's 9 / 11 / 13 / 18px one-off paddings.

Radius · scales with the element

8
12
16
22
full

Chip · button · card · sheet and dock · pill. The bigger the surface, the softer the corner.

Elevation · one raised surface per screen

Flat · e1
The card · e2
Dock · e3

Elevation encodes the product rule: only the thing you must decide about is raised. On dark, surfaces step up in lightness instead — shadow alone does not read.

States

Default Queued Offline Synced

Press scales to 0.985 and dims 5%. Offline, queued and synced are drawn — the committed sync contract needs them and the original set had none.

Imagery · duotone

A

Exercise media renders duotone — periwinkle-to-indigo with a single highlight — so photography sits inside the palette instead of fighting it. Glyphs here stand in for the real frames. The coach avatar is a photo slot with a presence ring.

Still open

Not resolved by this pass, and worth naming rather than implying:

Motiononly press feedback so far
Arabic / RTLface chosen, screens not drawn
Dynamic typescale is fixed-px today
Real photographytreatment defined, assets not sourced