New API key test · Notification Preferences Settings
Status · ExploringSettings screen to manage notification delivery channels (push, email, SMS) by category. Needs definition of first-load defaults and save-failure handling.
Context & Problem
Problem
Users need granular control over how they receive notifications across multiple channels and categories.
Why now
Quick test to validate the interaction model and state management.
Hypothesis
Toggles per channel per category will give users control without overwhelming them.
Goals & Success
Scope
Users & Jobs
Primary persona
User managing notification overload
Job to be done
When I receive too many notifications, I want to disable certain channels or categories so I can stay informed without distraction.
User Stories
As a user, I can toggle push notifications on/off per category so I control when I get alerted.
As a user, I can toggle email notifications on/off per category so I reduce inbox noise.
As a user, I can toggle SMS notifications on/off per category so I limit text volume.
As a user, I see a success message when preferences save so I know my changes are persisted.
As a user, I see an error message and retry option when save fails so I can recover without data loss.
User Journey
Load Settings
Review Categories
Toggle Preferences
Persist Changes
Flows & Information Architecture
- Notification Preferences
- Push Category List
- Per-Category ToggleOne toggle per category
- Email Category List
- Per-Category Toggle
- SMS Category List
- Per-Category Toggle
- Save Action→ success / error state
- Push Category List
States & Edge Cases
| Screen / Flow | Default | Loading | Empty | Error | Success | Save Failure | Offline |
|---|---|---|---|---|---|---|---|
| Settings Root | |||||||
| Push Category Toggle | |||||||
| Email Category Toggle | |||||||
| SMS Category Toggle | |||||||
| Save Confirmation |
Rationale & Alternatives
Handoff & Definition of Done
- Figma: All five state matrices above designed and validated (Default, Loading, Error, Save Failure, Offline, Success)
- API spec: Save endpoint and error responses documented; retry logic defined
- Copy: First-load defaults, success messages, error messages, retry CTA approved by product
- QA: Test plan covers all 7 state columns and 5 screens; network throttle scenarios included
Built with Skrut — the design-doc auditor.

