1 Message list — three concepts at 1100px

Same four threads in all three, carrying the Contacted tab's own classification — Estimate (currencyCircleDollar, mint), Design concept (sparkle, flame tint) and Proposal (briefcase, neutral) — plus the rating, location and kebab overflow the reference layout uses. What differs is what carries unread: a rail, a column, or the row's own weight.

1aFlame rail marks unread — closest to the reference

Messages

All messages All projects Select
{{ r.init }}
{{ r.name }}
{{ r.rating }}{{ r.reviews }} {{ r.loc }}

{{ r.prefix }}{{ r.msg }}

{{ r.kind }} {{ r.when }} {{ m.label }} Delete

Unread sits on white with a 3px flame rail; read recedes to the sunken tint. The inversion does the work — an unread row is the one that looks like a card, and a read one sinks into the page — so the rail only has to confirm it. The kind pill sits between the message and the timestamp, so the eye passes it on the way to the time. Weakness: with most threads read, the list reads as mostly grey, which suits an inbox you are working through but looks heavier than a flat white list.

1bKind leads its own column, unread by weight only

Messages

All projects All messages Unread Select
Type Conversation Time
{{ r.kind }} {{ r.init }}
{{ r.name }} {{ r.prefix }}{{ r.msg }}
{{ r.rating }}{{ r.reviews }} {{ r.loc }}
{{ r.when }}

The classification becomes a column, not a pill. Fixed-width Type / Conversation / Time headers, so kinds align down the list and you can scan for every Estimate at once — the pill can't do that because it floats after variable-length text. Name and message share line one, meta drops beneath. Unread is weight alone: bold name, ink message, no tint or rail. Weakness: 170px of every row is spent on a repeating label, and losing the pill's plate makes the kind quieter than the reference intends.

1cGrouped by kind, action on hover

Messages

All projects

{{ g.label }}

{{ g.count }}
{{ r.init }}
{{ r.name }} {{ r.loc }}

{{ r.prefix }}{{ r.msg }}

{{ r.when }}

The kind becomes a section, so no row repeats it. Each heading carries its glyph and count in the Contacted tab's eyebrow style, which frees the row for what varies — who, where, what they said. A leading 8px dot handles unread. Weakness: recency breaks across sections, so the newest message is no longer simply the top row; and with one Estimate the heading costs more height than it saves.

My pick: 1a — the inbox's job is recency, and it keeps one flat list while the pill still names the kind. Drop the tint and keep the rail, so unread is two signals rather than four. Take 1b if homeowners will filter by kind more than they scan by time; 1c only once every kind holds several threads.