Onboarding: seven screens ending in a forecast, with no account #16

Closed
opened 2026-08-18 03:33:28 -05:00 by null · 0 comments
Owner

There is no onboarding. A new install lands on the working surface with an empty state, which is not the first run PRODUCT_PLAN.md §19 specifies.

Seven screens, copy in §19 and §56: Welcome, Last period, Period end, Previous history, Privacy promise, Notification privacy, First forecast.

The decisions that are not negotiable:

  • The forecast comes before any registration. §19: "Do not force account registration before showing the forecast." There is no account at all in V1, so this is about not gating value behind anything.
  • Notification privacy defaults to Discreet and the screen makes Direct an explicit choice (§28). UserPreferences already defaults correctly; this screen must not undo that by pre-selecting something else.
  • Previous history is skippable and adding several periods must be quick — it is the single biggest lever on early prediction quality, and §12's engine is far better with four cycles than one.
  • Screen 3 offers Still going and I'm not sure, so an end date is never invented.

Onboarding completion is already a field on UserPreferences; use it to decide the start destination rather than adding a second source of truth.

Verify: a clean install shows Welcome, and after entering one period start reaches a first forecast with a window and a confidence label; skipping the previous-history screen still reaches it; the notification privacy screen has Discreet selected before the user touches anything; and relaunching after completion goes straight to Today.

There is no onboarding. A new install lands on the working surface with an empty state, which is not the first run PRODUCT_PLAN.md §19 specifies. Seven screens, copy in §19 and §56: Welcome, Last period, Period end, Previous history, Privacy promise, Notification privacy, First forecast. The decisions that are not negotiable: - **The forecast comes before any registration.** §19: "Do not force account registration before showing the forecast." There is no account at all in V1, so this is about not gating value behind anything. - **Notification privacy defaults to Discreet** and the screen makes Direct an explicit choice (§28). `UserPreferences` already defaults correctly; this screen must not undo that by pre-selecting something else. - **Previous history is skippable** and adding several periods must be quick — it is the single biggest lever on early prediction quality, and §12's engine is far better with four cycles than one. - Screen 3 offers **Still going** and **I'm not sure**, so an end date is never invented. Onboarding completion is already a field on `UserPreferences`; use it to decide the start destination rather than adding a second source of truth. Verify: a clean install shows Welcome, and after entering one period start reaches a first forecast with a window and a confidence label; skipping the previous-history screen still reaches it; the notification privacy screen has Discreet selected before the user touches anything; and relaunching after completion goes straight to Today.
null added this to the Batch 03 — Core UX milestone 2026-08-18 03:33:28 -05:00
null closed this issue 2026-08-18 03:44:48 -05:00
Sign in to join this conversation.
No Label
P0
P1
P2
release-blocker
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: null/Privacy-Period-Tracker#16
No description provided.