Keep the
thread.
Every screen, state and move in one place. A HUD of light around the mark: it boots, listens, thinks and folds away, and the mark moves with it.
Tap the phone
or the watch.
Both run one session, as in the real app: the watch only shows what the phone has confirmed. Start listening, then tap Big Brain.
Gaps
What the app does today, read from the code on 25 Oct, against what this design does about it. The right-hand column is the build work.
| Where a new user gets stuck | The app today | This design | The build needs |
|---|---|---|---|
| No watch, no help | You can only ask from the watch. The phone has no Ask anywhere. | The icon on the phone asks for help too. First run has a branch for people without a watch.Screens 08, 10, 06a | Wire the phone’s icon to the same help request the watch sends. |
| No answers by default | Apple’s on-device model only recaps the question. Answers need gear → provider → sending on → paste a key. | Pick your AI is part of first run and says plainly what each option does. Provider, key and sending are one screen.Screens 05, 05a | Ready to go needs the Plus server, which isn’t wired in. Until then, Use my own key is the real default. |
| Speech model hidden | The UK English download sits in Diagnostics. Home still says Listening, and every tap gives “No clear question”. | A download step in first run, and a “Speech isn’t ready” state that never claims to be listening.Screens 04, 16 | Check the speech model at launch and before starting, and offer the download. |
| Names don’t match | The icon says “Companion M0”. Errors say “Open Companion on iPhone”. The Action button lists “Companion M0 → StartConversation”. | Big Brain everywhere: icon, Live Activity, watch errors, the Action button.Screens 15, 24, 26 | Rename the display name, the App Intent and its phrase, and the watch strings. |
| One error for everything | “The AI didn’t reply in time. Check your iPhone has signal.”, even when sending is off or there’s no key. | Six problems, each with its own words and one fix.Screens 16 to 21 | Map each failure to its own state, and stop sending the timeout text for the others. |
| No Stop on the watch | The main watch screen can’t stop a session. | A small square Stop under the HUD on the watch’s Listening screen.Screens 12, 12b | A stop command from watch to phone, confirmed back like start. |
First run
Six screens from install to the first session, plus two branches. Nothing here assumes a watch, a key or a downloaded speech model.
Core loop
Four states. One button in the middle, one line under it, one action at the bottom. The HUD does the talking.
Watch
The same HUD on the wrist, in Space Mono. Start listening and asking for help are separate actions, and the answer stays until Done.
Problems
Every failure says what actually happened and offers the one thing that fixes it. No more “the AI didn’t reply in time” for a missing key.
Around the app
History, settings and the places Big Brain shows up outside the app: the lock screen, the Dynamic Island and the home screen icon.
Motion
Each card loops one transition at its real timing. Lines draw on, spin and fold away. Nothing bounces, and every haptic lands on a visible change.
Button press
Scale 0.96 · 90ms · back on release
Status words
Crossfade · 4px blur · 160ms out, 220ms in
Sheets and cards
Ease-out · no bounce · 550ms
Toggles
Acid fill slides · 300ms · light haptic