Period start and end logging in one or two taps #18

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

Logging currently means tapping a button on a debug surface and then nudging the date with −1d. PRODUCT_PLAN.md §23 wants one or two taps and no survey.

Started PeriodYes — Today or Choose Another Date → "Logged ✓ Your predictions have been updated" → straight back to Today. §23: do not force symptoms, mood, notes, or a survey.

Period end (§24): Ended Today, Choose Date, Still Going. Duration is stored only when it is actually known — never inferred.

Spotting (§25): recordable, and it must not reset the cycle. If an extremely short period entry is recorded the app may gently ask once whether it was a period or spotting — once, because §25 also says not to over-question.

The repository already refuses a duplicate date with AlreadyRecorded rather than throwing; this screen turns that into a sentence a person can read rather than an error.

Verify: logging a period from Today takes two taps and returns to Today; a date picker path exists for a period that started earlier; ending a period offers Still Going and never invents a date; and a two-day entry produces the spotting question exactly once.

Logging currently means tapping a button on a debug surface and then nudging the date with −1d. PRODUCT_PLAN.md §23 wants one or two taps and no survey. `Started Period` → `Yes — Today` or `Choose Another Date` → "Logged ✓ Your predictions have been updated" → straight back to Today. §23: **do not force symptoms, mood, notes, or a survey.** Period end (§24): `Ended Today`, `Choose Date`, `Still Going`. Duration is stored only when it is actually known — never inferred. Spotting (§25): recordable, and it must not reset the cycle. If an extremely short period entry is recorded the app may gently ask once whether it was a period or spotting — **once**, because §25 also says not to over-question. The repository already refuses a duplicate date with `AlreadyRecorded` rather than throwing; this screen turns that into a sentence a person can read rather than an error. Verify: logging a period from Today takes two taps and returns to Today; a date picker path exists for a period that started earlier; ending a period offers Still Going and never invents a date; and a two-day entry produces the spotting question exactly once.
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:56:56 -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#18
No description provided.