Home
Three concepts · full height · no scroll
Each frame is drawn at its true length so every component is visible at once — the fold markers show where a 844px device would cut it. The three concepts share one hero and one dashboard; only the alert layer differs.
Home · Alerts First
Concept AAlerts present—Push Day is ready
45 mins · 4 exercises at Crunch Fitness. Chest is at 41% freshness — above the 33% line.
Lunch isn't logged
1,694 kcal and 35 g of protein still to go. Coverage is 15% of your score.
Take tomorrow off?
Two sessions started under 33% freshness this week. One rest day clears chest by Thursday.
Sculpt Score
Recovery is the ceiling
You trained back at 28% freshness twice this week.
Sculpt · rewritten 6:02 AM
Turning up has not been your problem — 18 of 20 sessions in four weeks, which carried you from 644 to 723. Chest is what pulled you back: Push Day at 28% freshness on Nov 24, then again on Nov 29.
Recovery is 20% of the score and the one factor where training more makes it worse. It earns back at +6 a day at most, so about a week.
Every figure is computed, not written — Sculpt only phrases it. See the breakdown ›
Calories left
1,814
Steps
8,420
Weight
178.4
Protein
42/77
- 1Status bar
Standard iOS. Fixed — does not scroll with the body.
44px
- 2App bar
Wordmark, date, streak. The week calendar that used to sit here is cut: 80px to show which of the last seven days you trained, a fact the streak chip and Adherence already carry.
46px
- 3Compact score bar
Present only while alerts hold the top. Oura can bury its arc because it has a rail of six scores above; we have one number, so it cannot be absent on exactly the mornings something is wrong.
46px · tap → 2.1
- 4Group label
Pill label plus an info affordance, mirroring the reference's Activity detected slot. Names why the cards are here.
32px
- 5Alert 1 — workout, pinned
Carries a TODAY tag and no dismiss. Every other card can be cleared; this one cannot, because the app's job is getting you to train and a dismissible CTA is not a CTA.
≈228px · actions: Start / Swap
- 6Alert 2 — log food
The Notification Card repurposed. Same anatomy, new trigger.
≈216px · actions: Log Meal / Dismiss
- 7Alert 3 — recovery
The coach's recommendation as an action, not a paragraph.
≈216px · actions: Move to rest / Not now
- 8Overflow
Hard cap of three. Without it a six-trigger morning buries the score under 1,300px of alerts.
46px · dashed = collapsed state
- 9Score hero — 600px
The full arc, band, verdict and attribution. Sized to own one device screen: 844 less the status bar, app bar, floating tab bar and a 72px card peek.
min-height 600 · arc 250×152 · no CTA
- 10Why it moved
The coach, sitting with the score rather than competing for the top. Alerts are things you do; this is a thing you read. Every figure is computed — the model only phrases it.
≈300px · 2 paragraphs + provenance line
- 11Today — 2×2 tiles
One number and one chart each. Every tile is a tap into a screen that already exists: Nutrition Insights, Activity Insights, Weight Progress.
4 tiles · 189px column
- 12Trends
Three rows, each a sparkline and a delta. This is the only place the score's own history appears on Home.
3 rows · 36px chart height
- 13Insights
Demoted charts. 562px of Exercise and Weight chart on the shipped screen became two rows here.
3 rows · 48px each
- 14Tab bar — floating
Frosted pill inset 16px with the FAB split out beside it. Content scrolls behind rather than stopping at it.
pill 4 slots · FAB 56px · inset 16
Home · Ranked By Effect
Concept BAlerts present—Take tomorrow off?
Two sessions started under 33% freshness this week. One rest day clears chest by Thursday.
Push Day is ready
45 mins · 4 exercises at Crunch Fitness. Chest is at 41% freshness — above the 33% line.
Lunch isn't logged
1,694 kcal and 35 g of protein still to go. Coverage is 15% of your score.
Sculpt Score
Recovery is the ceiling
You trained back at 28% freshness twice this week.
Sculpt · rewritten 6:02 AM
Turning up has not been your problem — 18 of 20 sessions in four weeks, which carried you from 644 to 723. Chest is what pulled you back: Push Day at 28% freshness on Nov 24, then again on Nov 29.
Recovery is 20% of the score and the one factor where training more makes it worse. It earns back at +6 a day at most, so about a week.
Every figure is computed, not written — Sculpt only phrases it. See the breakdown ›
Calories left
1,814
Steps
8,420
Weight
178.4
Protein
42/77
- 1Status bar
Unchanged across all three concepts.
44px
- 2App bar
Unchanged.
46px
- 3Compact score bar
Unchanged.
46px · tap → 2.1
- 4Group label
The label changes the meaning of the stack: this is a ranked list, not a notification queue.
32px
- 5Alert 1 — recovery, −11
Leads because it is worth the most. The delta chip turns you have a notification into this one is worth eleven points — the single thing a composite score buys that nothing else does.
chip = signed integer
- 6Alert 2 — workout, +3
Demoted to second by the ranking. Arithmetic supports it; a training app probably should not. Open question.
chip +3
- 7Alert 3 — log food, −1
Where ranking breaks down: −1 is true and reads as permission to skip lunch.
chip −1
- 8Overflow
Reads no effect on your score, which is a real reason to leave them collapsed rather than an arbitrary cap.
46px
- 9Score hero — 600px
The full arc, band, verdict and attribution. Sized to own one device screen: 844 less the status bar, app bar, floating tab bar and a 72px card peek.
min-height 600 · arc 250×152 · no CTA
- 10Why it moved
The coach, sitting with the score rather than competing for the top. Alerts are things you do; this is a thing you read. Every figure is computed — the model only phrases it.
≈300px · 2 paragraphs + provenance line
- 11Today — 2×2 tiles
One number and one chart each. Every tile is a tap into a screen that already exists: Nutrition Insights, Activity Insights, Weight Progress.
4 tiles · 189px column
- 12Trends
Three rows, each a sparkline and a delta. This is the only place the score's own history appears on Home.
3 rows · 36px chart height
- 13Insights
Demoted charts. 562px of Exercise and Weight chart on the shipped screen became two rows here.
3 rows · 48px each
- 14Tab bar — floating
Frosted pill inset 16px with the FAB split out beside it. Content scrolls behind rather than stopping at it.
pill 4 slots · FAB 56px · inset 16
Home · Nothing Pending
Concept CAll cleared—Sculpt Score
Recovery is the ceiling
You trained back at 28% freshness twice this week.
Sculpt · rewritten 6:02 AM
Turning up has not been your problem — 18 of 20 sessions in four weeks, which carried you from 644 to 723. Chest is what pulled you back: Push Day at 28% freshness on Nov 24, then again on Nov 29.
Recovery is 20% of the score and the one factor where training more makes it worse. It earns back at +6 a day at most, so about a week.
Every figure is computed, not written — Sculpt only phrases it. See the breakdown ›
Push Day started · lunch logged · 2 dismissed
Calories left
1,814
Steps
8,420
Weight
178.4
Protein
42/77
- 1Status bar
Unchanged.
44px
- 2App bar
Unchanged.
46px
- 3Score hero at the top
No score bar, no cards, no group label. Once every alert is actioned or dismissed the hero is back where four rounds of work put it, owning the fold.
hero starts at y≈90
- 4Why it moved
Now the first card under the fold, breaking it by ≈72px — the entire scroll affordance.
fold at 844
- 5Caught-up row
Confirms the layer is empty rather than broken. Open question: Oura shows nothing when there is nothing, and the honest version may be hero straight into dashboard.
≈64px · candidate for removal
- 6Today — 2×2 tiles
Identical to 1.1 and 1.2.
4 tiles
- 7Trends
Identical.
3 rows
- 8Insights
Identical.
3 rows
- 9Tab bar
Identical.
pill + FAB
Component anatomy
Every part used above, and what is fixed about it
Nothing here is new. All of it exists in Tab — Home (Premium); the refactor is a layout problem, not a build problem. Sizes are the wireframe's, not the shipped file's.
Notification Card
Headline, one line if possible
Body carries the computed figures in bold so they read as facts rather than phrasing.
- Icon tile 52px, hairline border, glyph only
- Headline 19px/700, balanced wrap
- Body 14px, computed figures bold
- Actions one solid, one outline — never two solid
- Corner slot holds a TAG (pinned) or a delta chip (ranked), never both
- Pinned variant has no dismiss
Score hero
Sculpt Score
Recovery is the ceiling
You trained back at 28% freshness twice this week.
- Arc is position in 300–850, not percent of a goal
- Band in the cap slot — five of them
- Verdict names the dominant factor, never a status chip
- Delta is shown even when negative: the spec makes a visible fall an invariant
- No CTA. The score reports; it does not ask
Compact score bar
- Appears only while alerts hold the top
- Dot, value, band, delta, chevron — 46px
- Tap target for the whole row, opens 2.1
- Removed with the alert group, not separately
Group label + overflow
- Pill label, left-aligned, info affordance right
- Label text states why the group exists
- Overflow row is dashed to read as collapsed
- Cap is three cards above the score
Today tile
Calories left
1,814
Steps
8,420
- One label, one number, one chart. Never two
- Chart is evidence, not the subject — 34px
- Whole tile is the tap target
Tab bar
- Floating pill, inset 16px on all sides
- FAB split out as its own circle beside it
- Content scrolls behind both
- Destinations carry labels; the pill has too much presence not to
Navigation
Every route out of Home
The dashboard. Alerts above the score when present, hero above the dashboard when not.
→ 2.1 · Workouts · Food · Insights
Breakdown: band scale, trend, what changed, the five published weights, deductions.
← Home → 2.2 / 2.3
Any of the five. Four questions in a fixed order — learn one, you can read all five.
← 2.1
Below threshold. Renders what is still needed instead of a score.
Replaces the hero until it resolves
Activity Insights, Nutrition Insights, Weight Progress, Daily Log. All already built.
← Today tiles · Insights rows
Start Workout, Log Meal, Move to rest, Learn More. Each clears its card; clearing all restores 1.3.
← 1.1 / 1.2