Tasteful — Segall audit (focus pass)
Lens: Ken Segall (Insanely Simple) — one job per surface, one primary action, subtract whole blocks.
Date: 2026-06-28 · Status: Round 2 shipped.
Shipped in round 1
| Surface | Was | Now |
|---|
| Onboarding | 4 feature slides + photo | 1 welcome slide + photo (sync/offline/library folded into welcome) |
| Photo import prompt (onboarding) | Title + subtitle + body + 3 checkmarks | Title + "Optional" + one paragraph |
| Photo import primer | Title + body + toggle + 3 checkmarks | Title + body + toggle only |
| Recommender empty (no meals) | Title + explanatory paragraph + 2 buttons | Title + 2 buttons (paragraph removed) |
| Recommender browse handoff | 1 prominent + 2 glass + search glass | 1 prominent + Menu for recipes/restaurants/search |
| Browse handoff copy | Long stats paragraph | One line |
| Suggestion settings | Whole "How It Works" section + example bullets | One footer on General |
| tasteful.to MainLanding | Hero wall + 5 bullets + 3 principle cards + waitlist | Short hero + 3 bullets + one trust line + waitlist (principles grid removed) |
Shipped in round 2
| ID | Surface | Was | Now |
|---|
| S-01 | AuthenticationView | Hero "Sign in or create an account"; passkey + password as two sections; toggle between fields and primary | Hero Decide what to eat. (returning: Welcome back); passkey path: one primary + password link in footer; create/sign-in: one primary, toggle in footer |
| S-02 | MealRecommendationView (accepted) | View Recipe + Why + Change Location + Start Over (4 glass rows) | One glassProminent (recipe or restaurant) + More Options Menu (why, change location, start over) |
| S-04 | RecommendationEngineSettingsView | 6 top-level sections; weather "How it works" bullets | General first; Avoid Repeats · Context (weather + eat out) · Your Tastes (frequency + ingredients) |
| S-07 | App Store listing | Subtitle only | Subtitle Decide what to eat in Connect ✅; screenshots Decide → Save → Cook still TODO (docs/runbooks/APP_STORE_SCREENSHOT_STORY.md) |
| S-08 | Transactional email | TBD | Runbook: docs/runbooks/TRANSACTIONAL_EMAIL_TEMPLATES.md — one subject, one action |
Segall ✅ (already simple)
| Surface | Why |
|---|
| Home hero | One question: "What should I eat?" |
| UnderstatedLanding | "Mostly a notebook for food." |
| Pricing | One price; FAQ is honest, not tier grid |
| Where to Eat sheet | Sections serve one decision: pick restaurant or decide later |
| Batch delete confirm | Names + permanence; one destructive action |
| Boot screen | One line: Decide what to eat. |
Deferred (intentional)
| ID | Surface | Note |
|---|
| S-03 | HomeView | Hub sections OK — each row is one tap target |
| S-05 | Lab landings (/lab/*) | Exploration only; Segall pass before promoting to / |
| S-06 | who-its-for-content.ts | Depth page, not homepage |
Segall questions (use on every new screen)
- What is the one job of this surface?
- Is there only one
.glassProminent (or web primary)?
- Can an entire section be deleted?
- Are we listing capabilities when the user came for one decision?
- Would Apple ship this many words on a first-run screen?
Review cadence
- New feature: Segall pass in PR checklist (
REVIEW_PASSES.md) before merge.
- Quarterly: Re-run this doc against top 10 surfaces by traffic.