The concept structure for Sift, derived from jobs, not from a competitor menu: screens grouped by the person's intent, the navigation that moves between them, and the matrix that proves every screen closes a job and every job reaches a screen.
This is the concept: screens grouped by intent, with the job each one closes. States (empty / error / loading) live in the flows; page contents live in the detail layer. Neither belongs here.
graph TD
subgraph clA["A - Bring the signal in"]
A2["Connect / import (A2) - J2"]
A1["Sources (A1) - J2"]
end
subgraph clB["B - See what customers are saying"]
B1["Synthesis view (B1) - Main, J2, J3, E1"]
B2["Theme detail (B2) - Main, J1, J3, E1, E2"]
end
subgraph clC["C - Trace the evidence"]
C1["Evidence source (C1) - Main, J1, J3, E1, E2"]
end
subgraph clD["D - Decide and defend"]
D1["Build brief (D1) - Main, S1, J4"]
D2["Shared brief, public (D2) - S1, J1, J4, E2"]
end
subgraph clP["Platform - no user job (ORPHAN)"]
P1["Auth (P1)"]
P2["Settings / Workspace (P2)"]
end
A2 --> A1
A1 --> B1
B1 --> B2
B2 --> C1
B1 --> D1
D1 --> D2
classDef screen fill:#17171c,stroke:#3a3a45,color:#e8e8ec;
classDef orphan fill:#1a1a1f,stroke:#3a3a45,color:#66667a;
class A1,A2,B1,B2,C1,D1,D2 screen;
class P1,P2 orphan;
style clA fill:#0f0f13,stroke:#2a2a35,color:#7c6af7;
style clB fill:#0f0f13,stroke:#2a2a35,color:#7c6af7;
style clC fill:#0f0f13,stroke:#2a2a35,color:#7c6af7;
style clD fill:#0f0f13,stroke:#2a2a35,color:#7c6af7;
style clP fill:#0f0f13,stroke:#2a2a35,color:#66667a;
Four intent clusters carry every user job; the Platform cluster (Auth, Settings) closes no jtbd job and is kept only as a platform and compliance necessity. The lines show the primary path between clusters, not the flow: the full routes, with states and dead-ends, are on the Flows page.
Rows are every job from jtbd.md (the two hypothesis jobs are excluded). Columns are every screen. A check means the screen really participates in closing that job. Empty rows and columns are highlighted, so a defect is visible rather than hidden.
| Job | A1 | A2 | B1 | B2 | C1 | D1 | D2 | P1 | P2 |
|---|---|---|---|---|---|---|---|---|---|
| Main - defensible synthesis | X | X | X | X | |||||
| J1 - stakeholder defense | X | X | X | ||||||
| J2 - make sense of the pile | X | X | X | ||||||
| J3 - know how much to trust | X | X | X | ||||||
| J4 - get the team to the same why | X | X | |||||||
| J5 - close the signal loop (deferred, D1) | |||||||||
| E1 - feel I actually understood it | X | X | X | ||||||
| E2 - feel certain when questioned | X | X | X | ||||||
| S1 - stakeholders can engage with it | X | X | |||||||
| S2 - shared evidence standard (deferred, fast-follow) |
Highlightedorphan rows (J5, S2) and columns (P1, P2). The two empty columns are the platform screens (no user job, kept for platform and compliance). The two empty rows are deferred jobs (Segment C by D1; Persona B team standard is fast-follow). Restricted to the MVP surface (A1 to D2, jobs Main and J1 to J4, E1, E2, S1), no row or column is empty.