Skip to content

Add an optional Coach launcher card to Today #1862

Open

Description

@kggreco11

The problem

Coach is currently buried in the Insights/More navigation. It is easy to miss, particularly on iPhone, and entering it requires leaving Today.

The idea

Add Coach as an optional, off-by-default card in Today customization across iOS, macOS, and Android.

Tapping the card would open a compact platform-native Coach launcher:

  • iOS: modal sheet
  • macOS: sheet
  • Android: bottom sheet

When Coach is configured, the launcher would offer the existing suggested questions and a compact composer. When it is not configured, it would explain the opt-in, bring-your-own-key model and route to the existing Coach setup screen.

Constraints:

  • Opening the card or sheet must not make a network request.
  • Existing provider, key storage, consent, system prompt, BLE, and offline-by-default behavior remain unchanged.
  • Use the existing shared DashboardCard preference contract so card selection stays consistent across platforms.
  • Keep the existing full Coach screen as the configuration and fallback surface.

Alternatives you've considered

  • Leave Coach in More/Insights. This keeps Today uncluttered but leaves the feature hard to discover.
  • Add Coach as a permanent Today section. An optional card is preferable because users who do not use a provider should not get another fixed dashboard element.
  • Redesign Coach immediately as a persistent ChatGPT-style workspace. That is a larger follow-up: it needs local conversation/thread storage, retention and deletion controls, backup policy, and a decision about when prior turns may be sent to a provider.

Additional context

The first contribution should stay limited to the launcher. Persistent conversation history, training plans, a thread list, provider changes, and changes to consent behavior are out of scope.

Verification should confirm that the card is absent by default, can be added/moved/removed through Today customization, opens the expected platform-native surface, routes unconfigured users to existing setup, and does not make a provider request until the user explicitly sends a question.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions