The flow, before the screens
UX flow map · defined before a single wireframe
Three lanes — one-time onboarding, the repeating match cycle, and anytime settings. The wireframes in the next section are answers to questions this flow asked first.
Lane 01
Onboarding
One-time setup, ~90 seconds
01 · startWelcomecold start
→
02Pair sensorBLE handshake
→
decisionPaired?
→
03Calibrate baseline60s resting HRV
→
04Set preferencesnotifs · defaults
→
05 · landsHome dashboard
Lane 02
Match cycle
Repeats per game session
from homePick gamecard grid
→
06Start matcharms adaptive layer
→
07 · silentIn-game adaptno UI, just signals
→
08Session reportpost-match transparency
→
loopBack to home
Lane 03
Settings
Anytime, branches from home
from homeSettingsside route
→
S1Profileidentity
→
S2Game selectionper-title adaptive
→
S3Notifications4 toggle types
→
S4Session historydownloadable
→
loopBack to home
Why this came before the screens. The flow forced two structural calls early: calibration belongs in onboarding (not buried in settings), and the session report is the only place adaptation gets explained (in-game stays silent). Both calls survived to the shipped product. The wireframes in the next section are how those flow nodes became layouts.
entry state
decision point
destination
loop / return
Dhruv Deva