oll.am · Design study · ollscout GUI · 2026-07-11

ollscout — three interfaces, one verdict.

The scout's first viewer defaulted to the docs aesthetic. Sam called it. So: two research passes, three fully-built directions on real corpus data — Ledger, Dossier, Radar — and a decision.
3 working mockups · real data 2 parallel researchers Sam picked: Dossier Operator review pending

1Why a study, not a restyle

"why is the style still like ollam, is this the best way to display the job?"— Sam, this morning, on the first ollscout viewer

The critique lands twice. First, the surface: the first viewer reused the oll.am docs aesthetic — Playfair masthead, cream paper, serif body — because that's the house template closest to hand. But the docs style exists to make Sam read and learn; a job scout exists to make him decide in seconds. Triage is a different register from reading, and inheriting the reading register was a default, not a decision. (This page you're reading IS a doc, which is why it's correctly back in the newspaper style.)

Second, the deeper question — is this the best way to display the job? — can't be answered by tweaking CSS. It's an information-architecture question: what does the eye need first, what does the score owe the reader, where does the evidence live. The house discipline is design before pixels: when the register is in doubt, build competing directions on real data and let the strongest one win — the same move as the ollwrite Ink-In study, which settled a contested editing UX by shipping the alternatives instead of arguing about them.

2What the research says

Two researchers ran in parallel — one on triage-UI patterns, one on how AI job-match products display scores and evidence. Five findings shaped all three directions.

FindingWhy it matters here
Dense lists beat card grids for homogeneous triage (NN/g)Job postings are homogeneous items scanned for one decision. Cards spend pixels on chrome; a list spends them on signal. None of the three directions uses a card grid.
A score must decompose and carry evidence, or it reads gamifiedThe recurring complaint against Jobright et al.: a bare "87% match" invites distrust. Every direction breaks the score into sub-scores and quotes its sources.
Verdict-LAST matched pairs quoting BOTH documentsNo ATS product ships this composite: requirement → what the posting says → what the CV says → verdict, in that order. It's the scout's differentiator, so it's the centerpiece in all three.
Abstention styled neutral, never redWhen the judge declines to score ("posting too thin"), red would punish honesty. Abstention renders gray/dashed everywhere — it's the system being trustworthy, not failing.
One accent color; color = status only (Superhuman)Triage tools earn speed by making color mean exactly one thing. Each direction has a single accent, and hue is reserved for MET/PARTIAL/GAP-class status.

Plus one interaction principle carried from Perplexity and EvidenceLens: progressive disclosure of reasoning — the verdict is one glance, the full evidence chain is one click, never a wall by default.

3The three directions

Ledger

the inbox · Superhuman × Linear
Ledger direction — dark tier-split triage list with an expanded matched-pairs matrix
Ledger — SIX 65 expanded in place: requirement / posting / CV / verdict, with sub-score bars and the judged-at + source line.

Triage as email. One dense stream, split by tier so the eye lands where action lives: APPLY ≥70 (empty today — "nothing apply-grade yet, the scout keeps looking"), WORTH A LOOK 50–69, LONG SHOTS, SKIPPED. Keyboard verbs do the work — j/k move, s save, x dismiss with a 150ms slide-out and undo — and enter expands the matched-pairs matrix in place, no navigation. Tokens: #0E0F12#6E8BFFInter + JetBrains Mono

Signature moment: pressing x on a 46 — the row slides away in 150ms and the next candidate is already under your cursor. Triage at the speed of email.

Dossier

the case file · one job on trial
Dossier direction — paper case file with numbered exhibits pairing posting quotes against CV quotes
Dossier — case 2 of 3 on today's docket: Exhibit A (PARTIAL), Exhibit B (MET), Exhibit C (GAP), each quoting both documents with cited CV sections.

The opposite bet: not volume, judgment. One job at a time, presented as a case file. Numbered exhibits build the argument before you're allowed a conclusion — THE POSTING SAYSTHE CV SAYS, typewritten mono quotes, each CV quote citing its section (cv-experience-adnovum, cv-summary). Findings read MET / PARTIAL / GAP / NO EVIDENCE. The verdict arrives last, as a rubber stamp — WATCHED · 65, rotated 2°, pressed onto the sheet after the evidence — and you can overrule it with your own stamp. Abstention is a neutral gray sheet: "the scout does not guess." Tokens: #F4F1EA paper#1C1913 ink#B5402A stampIBM Plex Sans + Mono — deliberately paper, but deliberately not the oll.am docs serif: a case file, not a newspaper.

Signature moment: scrolling past Exhibit C's GAP ("5+ years" vs "~3 years") and only then meeting the WATCHED · 65 stamp — the score has already been earned before it's shown.

Radar

the ops console · the scout's worklog
Radar direction — dark phosphor ops console with a tick timeline and tiered signals table
Radar — the tick log with the live sweep cursor, then signals by tier: score-delta markers (90▼65, 78▼28), a resurrection (–▲58), a dashed abstention.

The third bet: the hero isn't the jobs — it's the scout's work. A tick timeline runs across the top with a live sweep cursor: 14:20 ▸ 3 already_seen · silence, 14:30 ▸ sweeping…, next tick announced, SILENT unless ≥70. Below, signals by tier with score-delta markers from re-judges (90▼65 when the real CV replaced the assumed one; –▲58 for Swissquote's resurrection from dismissed), and a coverage/corpus honesty footer. This is the direction that says: you're not reading a list, you're supervising an agent.

Tokens: #0A0E14#46E0A3 phosphor#E0B546 amberJetBrains Mono

Signature moment: the ticks that found nothing — "3 already_seen · silence" — displayed as proudly as the hits. Silence made visible is what makes the alerts trustworthy.

4The verdict — Dossier

Sam picked Dossier.

Not (only) on looks — on roadmap fit. The case sheet is the natural home for what comes next: tailoring actions. Draft cover letter and tailor CV belong on the page that already holds the matched CV chunks the draft must be grounded in — the exhibits ARE the grounding. That kills the current copy-paste-across-chat-GUIs workflow in one move: the evidence, the verdict, and the action live on one sheet.

The losers aren't discarded, they're scheduled: Ledger's density survives as a later list mode for the day the docket outgrows one-at-a-time (its tier-split + keyboard verbs are exactly what a 40-posting morning needs). Radar's tick band is worth stealing outright as a slim header strip on the Dossier — the scout's heartbeat above the case file, silence and all.

One review is still open: the operator (Claw) hasn't assessed the mockup yet — and as of today it can render it itself, since its browser was fixed this morning. Its read lands as an amendment, same as the v2-spec review did.

5Built on real data, not lorem ipsum

All three mockups render the actual corpus from today's re-judge — so the design was stress-tested by real edge cases, not idealized rows:

The mockups live in the ollscout repo under design/ (ledger.html · dossier.html · radar.html + a gallery index.html, served locally at localhost:5312). Next build step: the Dossier becomes the real viewer, with Radar's tick strip as its header.

6The GUI, documented — and the v2 backlog (2026-07-13)

Two days after the Dossier won, the built GUI got its documentation pass: three fresh screenshots of the real app on real corpus data, a compact record of its information architecture, a second research pass on pattern analogs — and a ranked v2 backlog so the next design round starts from a list, not a vibe.

The IA, in one pass

ollscout GUI — two-pane master-detail with the docket rail left and a full case sheet right
The case sheet — docket rail left, one case on trial right: header → exhibits → verdict → stamp → ruling → drafts → case history.
ollscout GUI — a watched case with sub-scores, closest-miss, and lifecycle ruling buttons
A watched case — verdict with sub-scores, the closest-miss line, and the rule-yourself override on the same sheet as the evidence.
ollscout GUI — corpus and degraded states: abstained, legacy, memory-outage sheets
The honest degraded states — abstained ("the scout does not guess"), legacy (pre-contract cases), memory-outage — each styled neutral, never red.

Structure: a two-pane master-detail — the docket rail (sectioned by tier/status) on the left, one case sheet on the right. The case-sheet anatomy, top→bottom: header → exhibits → company block → verdict with sub-scores → rule-yourself buttons → grounded-draft actions → the stamp → ruling → closest-miss → drafts → case history. The verdict-last discipline from the mockup survived into the build. And the GUI carries three honest degraded statesabstained / legacy / memory-outage — rendered as first-class sheets, not error toasts.

What the research established

The ranked v2 backlog

#ItemEffortWhy / status
1Keyboard-first rulingSPartially SHIPPED same-daya/p/l/d verbs live; full Linear-grade coverage remains.
2Tick-band liveness stripSThe Radar steal — is-the-loop-alive at a glance, above the docket.
3Rail density at scaleMThe docket must survive a 40-case morning; Ledger's density lessons apply.
4Draft editing + versioningLGrounded drafts exist; editing them in place with history is the next register.
5Lifecycle chipsMFull applied→replied→interview→offer path, clickable on the sheet.
6The playbookMA user-authored ruling standard the judge must honor.
7Cross-case closest-miss ledgerMThe recurring gap across cases IS the CV roadmap — surface it once, globally.
8Company-block letterheadSRender the company dossier as the case file's letterhead.
9Mobile master-detail + stamp-swipeLThe alert already reaches the phone; the sheet should too — swipe = stamp.
10Bulk docket actionsMDismiss a whole tier when the morning is noise.

Deliberately rejected: kanban. A board would recast the review register as a tracker — the one move that would make ollscout look like Teal/Huntr and stop looking like a court.

Flagged for product (not design): a capture path. File-a-case-from-URL is the one convention every competitor shares and we lack — the user who finds a posting themselves has no way to put it on trial.

Prototype order — on design/dossier.html FIRST, per Sam's workflow: #2 + #7 next (#1 is partially done), then #3, #8, #4. Mockup before app, same as the study that started this page.