Skip to content

feat(onboarding): coach new users to the real AI sheet after onboarding - #554

Open
sol-wizard wants to merge 7 commits into
mainfrom
feat/onboarding-voice-coach
Open

sol-wizard wants to merge 7 commits into
mainfrom
feat/onboarding-voice-coach

Conversation

@sol-wizard

@sol-wizard sol-wizard commented Sep 18, 2026

Copy link
Copy Markdown
Owner

Summary

~31% of signed-in users never create a task or note, and onboarding only described voice. Now, when onboarding ends, the Today page dims and only the AI button stays lit, inviting the user to say what's on today. Tapping it opens the existing AI sheet with first-run copy, so there is one voice UI, not two. Replaces #552.

  • VoiceCoachOverlay in the tabs layout, placed on the AI button's measured frame. Shown once, after onboarding is finished or skipped; "Not now" or a tap anywhere closes it.
  • AI sheet takes source=onboarding: first-run copy, task_created.source = "onboarding_ai".
  • Copy: the sheet's example line is now "Call mum every Sunday at 8pm" (all users).
  • Merge fix: suppress AI error on sheet dismissal #547 first: without it, a new user who closes the sheet while the AI is still running gets an error toast.
  • Analytics: onboarding_voice_coach_shown/_tapped/_dismissed, _mic_pressed, _task_generated, _task_created.

Tested on a real iPhone. Not exercised: spoken audio, Android.

Release note

New to Blotz? Right after onboarding, the app now guides you to create your first task by voice.

Status:

  • User-facing — announce it
  • Beta / partial — announce, but tagged as beta
  • Hidden in production (feature-flagged / not enabled for users) — don't announce
  • Internal only (refactor / infra / tests / CI / deps) — don't announce

🤖 Generated with Claude Code

sol-wizard and others added 2 commits September 18, 2026 23:29
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
When onboarding ends, the Today page dims and only the AI button stays
lit, with a line asking the user to say one thing to do today. Tapping it
opens the existing AI sheet with first-run copy; tapping anywhere else
closes the coach. Tasks saved from that sheet report source onboarding_ai.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Sep 18, 2026

Copy link
Copy Markdown
Contributor

Test Results

126 tests   126 ✅  9s ⏱️
  1 suites    0 💤
  1 files      0 ❌

Results for commit 00ea2ef.

♻️ This comment has been updated with latest results.

@github-actions

github-actions Bot commented Sep 18, 2026

Copy link
Copy Markdown
Contributor
Package Line Rate Branch Rate Complexity Health
BlotzTask 4% 34% 2743
BlotzTask 4% 34% 2743
Summary 4% (4584 / 113766) 34% (968 / 2830) 5486

sol-wizard and others added 5 commits September 18, 2026 23:58
…ier spotlight

- Coach and first-run sheet copy now speak as the AI helper
- The AI sheet's example is a weekly task instead of the dated election line
- The spotlight is placed relative to its own measured origin, so a platform
  offset in window coordinates cannot move it off the button

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Closing the AI sheet stops the SignalR connection, which rejects a request
still in flight. That was handled as a failure: an error toast on the Today
page and an ai_task_generation_failed event. Cards stream in before the
turn finishes, so users close the sheet inside that window all the time.
Requests cancelled by closing are now ignored; real failures still report.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Reverts 8519fa0. The same bug is already fixed by the approved,
not-yet-merged PR #547 (same file, same approach), so keeping it here
would only conflict with it.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
- One AiTabButtonIcon drawn by both the tab bar and the coach, so the lit
  copy cannot drift from the real button
- The button frame is local state in the tabs layout, passed as a prop;
  the store now only holds visibility
- AI_SHEET_SOURCE replaces the "onboarding" string shared by two files

No behaviour change.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant