Every way a 2025–26 product displays "a lot" reduces to one of ~15 paradigms. The useful question is never "which is modern?" but "where does each one fail?" — because dense-UI paradigms fail loudly and specifically, and the failures are documented. Effort is sized for the Dossier codebase: S = hours, M = a day or two, L = a week-class register change.
| Paradigm | Best implementer '25–26 | Where it wins | Where it fails | Effort |
|---|---|---|---|---|
| Collapse / expand (progressive disclosure) | Everywhere — GitHub, Notion toggles | The cheapest density valve; detail on demand, scan cost near zero | NN/g: more than 2 disclosure levels is a documented failure mode — and hidden content gets missed. On an operator tool, what's folded away effectively doesn't exist | S |
| Peek ladder (hover → side-peek → full) | Notion · Linear · GitHub | The pattern that has quietly replaced both modals and full-page navigation: preview without losing the list, commit only when warranted, arrow-sweep the whole queue | Needs one data source rendered at 3 fidelities or the levels drift; hover doesn't exist on touch (the side-peek must carry mobile) | M |
| Inspector panel (persistent rail) | Figma · Linear right rail | Properties of the selected thing always in reach; no navigation to edit | Eats ~300px permanently; becomes a junk drawer unless someone curates what earns a slot | S–M |
| Master-detail (two-pane) | Every serious triage tool; e-discovery review screens | The canonical triage frame: queue + object, one glance each | Caps at two panes on laptop widths; the detail pane inherits ALL the density problems (it solves navigation, not display) | S · shipped |
| Density toggle (comfortable / compact) | Gmail | Defensible at consumer scale where audiences genuinely split | Linear ships NO toggle — it collapsed 98 theme variables to 3 and picked the density for you. On an operator tool, a toggle is the designer refusing to decide | S · anti |
| Saved views | Linear · Attio · GitHub Projects | Filter + sort + columns persisted per job-to-be-done; density becomes purpose-shaped | View sprawl. The disciplined implementers ship 2–3 defaults, not a view builder; every extra view is a place for a case to hide | M |
| Virtualized list / data grid | Linear lists · TanStack-class grids | 100k rows scroll at 60fps; density limited only by row design | Complexity tax (accessibility, find-in-page, scroll restoration) that's pure waste below ~100 rows — our docket is dozens | M–L |
| Multi-view records (table / board / calendar / gallery) | Airtable | Same data, many lenses; each lens is a density decision | View maximalism. Linear and Attio — the products actually winning on feel — ship only 2–3 views per surface and refuse the rest | L |
| Command palette (⌘K) | Raycast · Linear | Zero-chrome access to everything; expert speed without menu density | GitHub nearly killed theirs (Jul 2025) for low usage, reversed after backlash — the lesson: a palette augments visible navigation, it never replaces it | M |
| Keyboard triage verbs | Linear (numbered keys) · Superhuman | The fastest repeated-decision loop that exists; density stops mattering when the hands never leave home row | Invisible without printed shortcuts in the UI; only pays on homogeneous decisions (which triage is) | S · partial |
| AI: summarize-then-drill | Gmail (Gemini summary cards default-on since May 2025) | Collapses reading debt: the summary is the first fidelity level, the source one click below | Apple's news-summary saga — paused, then re-shipped behind a red warning — is the guardrail: an unsourced summary that's wrong once poisons the whole surface | S–M |
| AI: graduated autonomy | Linear Product Intelligence (Aug→Sep 2025) | THE 2026 triage pattern, and it is not chat: suggest → explain → accept → selective auto-apply, trust earned per-verb with rationale visible at every rung | Needs a rationale surface and an undo for every rung; skipping straight to auto-apply is how AI features get turned off | M |
| AI-filled record attributes | Attio (research agents populate fields) | Enrichment lands as structured data in the layout, not prose in a chat — density-native AI | Unmarked AI values poison the record: every filled field must be visibly AI-attributed and source-linked | M |
| Citation / trust chrome | NotebookLM · Relativity aiR | The gold standard: every claim click-throughs to the highlighted passage in the source; trust becomes a UI primitive | Real plumbing — span offsets must survive re-renders and re-ingests; half-done citations (link to the doc, not the passage) read as evasion | M · partial |
| Semantic zoom | Maps · Figma canvas | The right detail at every altitude | As a free zoom it disorients on records. The 2026 form is 2–3 fixed levels presented as tabs — which is just the peek ladder wearing a different hat | M |
| Timeline / activity register | GitHub issues · Attio record timeline | Everything that happened, in order — the honest memory of an object | Noise. GitHub's lesson: collapse metadata events, never substance — a fold that hides a human comment is a bug, a fold that hides 12 label changes is design | M |
Strip the branding off Attio, Linear, GitHub, Raycast, Palantir Foundry, Everlaw, and NotebookLM and the same stack is underneath all of them. This is the consensus — seven moves, no exotica. Modern density isn't a widget; it's a discipline about fidelity levels and trust.
One data source renders all three rungs — the levels are croppings of the same record, never separate templates, or they drift apart within a month.
| Move | What the consensus implementers actually do |
|---|---|
| 1 · Three-fidelity ladder | Hover card → side peek → full page (above). Notion, Linear, GitHub all converged here independently — that's what makes it a recipe and not a fashion. |
| 2 · Full page = prose center + fact rail | The reading column in the middle, a scannable attribute rail beside it, and a header row of ≤6 pinned facts — the facts you'd shout across the room. Everything else lives one level down. |
| 3 · Timeline as noise-collapsed register | Chronological truth with metadata events folded ("—— 12 routine entries ——") and substance always visible. GitHub's hard-won rule: collapse metadata, never substance. |
| 4 · AI as annotation, not oracle | Rationale + citation click-through to the highlighted passage (NotebookLM/Relativity), propose-then-approve on every write (Linear), a counterargument field alongside every AI judgment (Relativity aiR ships "reasons this might be wrong" as a first-class output), and visually distinct AI ink (Granola renders AI text differently from human text — the reader always knows who's talking). |
| 5 · ⌘K with printed shortcuts | The palette for reach, visible key-hints in the UI for discoverability. Augments navigation; never replaces it. |
| 6 · Opinionated defaults + per-view escape hatch | No global density toggle. Instead: the designer picks, and each saved view carries its own display options for the rare job that needs different columns. |
| 7 · Indicator dots for hidden density | When something IS folded, a dot/count marks that there's more — the anti-"hidden content gets missed" mitigation. Cheap, and it's what lets disclosure level 2 exist at all. |
Here's the part that makes this exciting rather than homework: the recipe is structural, not visual. Nothing in it requires Linear's dark chrome. The Dossier's paper register — case files, exhibits, stamps — can implement every move, and paper actually makes several of them stronger, because paper bureaucracy solved evidence-plus-judgment density a century before software did.
| Recipe element | Its paper form in the Dossier |
|---|---|
| Hover / highlight row | A typewritten index-card header — the card catalog entry for the case: role, company, score, one line. |
| Fact rail | A margin column with dotted leaders — SALARY ····· 120–140k — the ledger idiom for label-to-value scanning. |
| Noise-collapsed timeline | Court-docket lines, with folds rendered as a rule: "—— routine entries (12) ——". Substance entries always printed in full. |
| Distinct AI ink | Typewritten = human; pencil-margin = AI. The reader knows who wrote what by texture, before reading a word — Granola's move, but the paper metaphor does it natively. |
| Rationale + counterargument | A stapled slip: "EXAMINER'S NOTE — however, consider…" The AI's case for its score AND its case against itself, physically attached to the verdict. |
| Citation click-through | A red underline in the source page — click the claim, land on the posting with the exact passage underlined in examiner's red. |
| Side peek | A folder pulled halfway out of the drawer — the case slides over the docket without leaving it; push it back or pull it fully out (full page). |
| Command palette | A modal typewriter line: FIND: _ — one input, mono, on a paper slip. |
KPI dashboard cards (a court doesn't have a scoreboard) · per-user layout settings (the file has one format; that's why it's trustworthy) · a persistent AI copilot pane (the examiner writes in the margins of the case, not in a separate chat window) · hover-only critical information (nothing decision-relevant may exist solely at fidelity ①) · generative layout (the form is fixed; only the entries vary — which is also exactly the surviving industry doctrine from §1).
Our object is structurally a hybrid the research kept converging on from five different specialist domains (ATS, e-discovery, CRM, issue triage, research tools): an ATS candidate profile crossed with an e-discovery review screen — identity + lifecycle, a body of evidence under review, and a coding decision that must be made and defended. All five domains draw the same three-column shape. We should too.
Column by column, and why: the header strip carries identity, the lifecycle tracker, and the actions — the ≤6-pinned-facts rule from the recipe. The left rail is the attribute ledger: hard facts plus AI-researched company intel, every AI value marked as such and source-linked (Attio's move, in pencil). The center is the evidence body, tabbed and time-ordered: exhibits (the dual-cited pairs we already have), the verbatim posting as a document-viewer tab (the citation target for red underlines), drafts + versions, and a merged chronological case feed — with a cited AI TL;DR card pinned on top whose every claim chips down into an exhibit. The right rail is the verdict instrument: sub-scores, key takeaways, and one forced call — AI-prefilled with its reasoning and its counterargument visible, waiting for the human stamp. This rail is the product's signature; never bury the verdict.
Dual form factor: the same case sheet renders as the full page AND as the side-peek panel (the folder pulled halfway from the drawer) — one anatomy, two croppings, per the ladder rule. At the corpus level: a dense list, side-peek as the default open gesture, numbered triage verbs on home row, 2–3 saved views maximum, and a ⌘K that jumps on exact match and goes semantic otherwise (we own the embedding corpus; most products can't do this half).
| # | Move | Effort | Why this order |
|---|---|---|---|
| 1 | Cited AI TL;DR card pinned on the case | S | Biggest perceived-modernity jump per hour; the exhibits it cites already exist. |
| 2 | Scorecard rail: AI-prefill + human confirm | S–M | Formalizes the verdict-last discipline into the graduated-autonomy pattern (§1's THE 2026 pattern). |
| 3 | Side-peek ladder + keyboard verbs completed | M | The structural upgrade: triage speed at corpus scale. |
| 4 | Merged chronological case feed | M | The object's honest memory; noise-collapsed per the docket-lines idiom. |
| 5 | ⌘K — exact-match jump, semantic fallback | M | Cheap for us (corpus is embedded); augments, never replaces, the docket. |
| 6 | AI company-intel attributes in the left rail | M | Genuinely new data; needs the AI-ink + source-link chrome shipped first (#1, #2). |
| Triptych element | Status | Note |
|---|---|---|
| Exhibits with dual citations (posting ↔ CV) | ✓ shipped | Ahead of most commercial tools — this is the whitespace no competitor fills. |
| Right verdict panel, verdict-last | ✓ shipped | A proto-triptych already; #2 turns it into the instrument. |
| Honest abstention states | ✓ shipped | "The scout does not guess" — exactly the Apple-saga guardrail, pre-built. |
| Keyboard triage verbs | partial | a/p/l/d live; numbered-key sweep + printed hints remain. |
| Peek ladder (hover → side-peek) | — | Not built; the folder-from-drawer gesture is decision point (c). |
| Cited TL;DR card · tabs · merged feed · AI-ink distinction | — | Not built; #1, #4, and the pencil register cover them. |
design/dossier.html, per the workflow that won the original study? Recommended: yes.