Kimmy's Skills

pulse — Mobile App Requirements

Source: ../mobile.html · Surface: mobile app (Compose) · Mode: Rebuild · Case 03 Purpose: prove whole screens, two first-class schemes, real ergonomics, and states in the form they actually take.

1. Problem and context

Who: people checking a chronic condition several times a day, often at night.

Jobs: see the current status, run a guided session, review a weekly report.

Constraints: one hand, variable light, OS font scaling, and two schemes that are both first-class. The system governs whole screens and states; component samples alone would hide how they meet on a phone.

2. Experience requirements

Six whole-screen scenes, each 360×760:

  1. Home / status — the first screen answers one question: “how am I today?” Status is color + number + word.
  2. Immersive session — content centered, no navigation, one escape hatch. Leaving early is always allowed and saves to history. The screen never scrolls.
  3. Report — data explains itself: label, chart, and a plain-language sentence.
  4. Whole-screen empty state — distinct from the inline placeholder. A report needs at least three sessions; they take ten minutes and the first one counts tomorrow morning.
  5. Onboarding — one idea per screen, progress visible, skip always available.
  6. Bottom sheet — stacked on a real screen with a scrim; interruption in context, not a floating sample.

3. Visual requirements

Color

Two designed palettes, measured independently; dark is not an inversion.

Role Light Dark
app-bg #f7f8fa #0c1214
app-surface #ffffff #151d20
app-text #14171c #e8eef0
app-subtle #5f6673 #9aa8ad
app-accent #0f766e #2dd4bf
app-accent-soft #d7ecea #10312e
app-border #e4e7ec #243034
app-ok #15803d #4ade80
app-warn #b45309 #fbbf24
app-bad #b91c1c #f87171

Semantic colors follow the mode, never the scheme. Chart colors are data, not decoration.

Typography

The system owns the face (SF Pro on iOS, Roboto on Android); the app owns the scale.

Role Size / line-height Use
display 34/40 hero numbers
title 20/26 screen titles
body 15/22 rows, actions
caption 12/16 metadata
tabular — statistics

Layout and targets

4. Components and states

5. Motion

Token Duration Used for Never
fast 120 ms state change, pressed feedback data values
base 200 ms sheet and overlay entrance scrolling content
slow 320 ms screen transitions, scene change interruptions
breathe 6 s loop guided breathing pace anything not breathing

6. Accessibility

7. Verification requirements

8. Non-goals

9. Open questions