The card to build. Everything below is the exploration that led here — 1h in context is the same specimen.
Same eight pieces of content in all twelve, all set in body text. What differs is what the card is organised around — the project, the facts, the decision, the same card with the density constraint lifted, two containerless versions in the minimalist style, and 1g, which brings the desktop row's weight grading back to the phone — with 1h and 1i testing progressively lighter labels against it, and three that rehouse the created date: 1j drops the "Created" label so the date sits with the status, 1k moves that date under Published on 1d's frame, and 1l does the same on 1e's while adding the select box to the title row. In every one the PRO stack and the CTA are the only things carrying visual weight; photos stay small because the homeowner made them and already knows what they show.
Closest to what ships now. Photos lead but stay at 42px, so they identify the project without claiming the card. The three facts sit in a labelled ledger — easy to compare down a list of projects, since Budget always appears in the same place. Weakness: the ledger is three lines of similar-looking text, and on a long list that repetition is what you scroll past.
The most compact of the set. One 76px thumbnail with the photo count on it stands in for the whole set, and the facts run as prose lines rather than a ledger, which fits far more projects per screen. The stack and CTA get the full width of the card's foot to themselves, so they are unmistakably the action. Weakness: facts are harder to compare across cards than in 1a's aligned ledger.
Inverts the usual order. The stack and CTA sit on their own tinted shelf directly under the title — the first thing you see after the project name is who replied and how to read them. Facts and photos follow as reference. Weakness: the shelf is a second surface inside a card that already has one, which is heavier than this list needs; and pushing photos to the bottom makes the card read like a task rather than a project.
1b with the density constraint lifted. With three or four briefs there is no scroll to save, so the card spends the space where it earns something: a 22px title, a 96px thumbnail you can actually read, the facts back in 1a's aligned ledger — comparable across cards again, which was 1b's one real weakness — and a 46px CTA sitting above a rule with 22px of clearance. Same eight items, same body text, about 115px taller.
1d with the created date moved under Published. Two dates in one ledger — Target and Created — read as a pair to be compared, which is exactly the confusion to avoid: one is a deadline, the other a fact about the record. Moving the created date under the status detaches it from Target and gives it the only context it needs, since "Published" supplies the verb and the date completes it. Target stays in the ledger as the only date the homeowner acts on. Costs nothing in height — the ledger loses a row as the status block gains a line.
1d with every container removed. No card plate, no shadow, no rule, no status pill — projects separate on whitespace and the page ground shows through, matching the minimalist treatment used elsewhere in the product. The two things that must be found still are: the PRO stack keeps its discs, and the CTA keeps ink weight and its arrow, so it reads as the action without a fill. Everything else recedes by weight and colour a step, not further: labels stay at --text-muted (4.3:1) because they are four of the eight required items, and status drops from a pill to plain muted text. Weakness: with no plate, the card depends entirely on generous spacing to hold together; crowd the list and it collapses into one column of text.
1e with the record's two administrative facts paired. The select box leads the title row at 20px, and Created moves out of the ledger to sit under Published — status and date are both facts about the record rather than the project, so pairing them lets the ledger hold only what you act on: rooms, budget, target. Status also steps up to medium ink since it now heads a two-line block. Costs no height — the ledger loses a row exactly as the status block gains a line. Weakness: the title row now carries three elements, so a long project name has ~180px before it clamps.
1a's ledger, one photo instead of a strip. A single 200px image identifies the room far better than three 42px chips, and the count folds into the rooms line rather than needing a "+4" tile. Same containerless treatment as 1e. The tension worth naming: the brief says photos are reference, and at 200px this is the loudest thing on the card — justified only if the homeowner recognises their project by the room rather than the name.
Desktop 1d's weight grading on 1e's frame. Two things move because 390pt has no right-hand column: the select box joins the title row at its head, and the date sits at the title's right — the two ends of the row desktop gives them, folded onto one line. Everything else transfers unchanged: labels medium --text-body, rooms and status in medium ink because they identify the brief, budget and target regular, and Status as the last ledger line rather than a pill. Stack and CTA keep the full width of the card's foot. Weakness: the title now shares its line with two other elements, so a long project name has roughly 190px before it wraps.
Shipping on My Projects Mobile Minimal and, re-laid-out, on My Projects Desktop Minimal. Containerless: briefs separate on a hairline, no plate or shadow. Three bands — title row, photo + ledger, stack + CTA.
Title row. Select box, title, then the record's own facts stacked at the right: date over Published in mint with a mint dot. Status and created date are facts about the record, not the project, so they pair there and leave the ledger holding only what you act on. The row is top-aligned: the box sits 4px down so it centres on the title's first line, and the date column starts at that same top edge — both stay put when the title wraps to two lines.
Ledger. Labels regular --text-muted — weight alone marks the column, so four field names stop reading as four small headings. Values grade: rooms in medium ink (unlabelled, spanning the full width, since a room list is content not a field), budget and target regular --text-body. Target reads "As soon as possible" when no date is set.
Overflow. Title and rooms hard-clamp at two lines with an ellipsis; status sits on one line in the title column; budget and target hold one line — a split range reads as two numbers, a split date is unreadable. Dates are day–short-month–year, formatted per locale via Intl.DateTimeFormat, so zh-TW resolves to 2026年11月14日.
Foot. PRO stack left, CTA right, capped at five discs — past that the last disc carries the total. Drafts show "No proposals yet" against Invite PROs.
Desktop keeps every rule but the layout. At 1100px the three bands become three columns and the date moves to the top of the right-hand column, above the stack and CTA, because there is a right column to spend.
Regular weight and one step lighter in colour. The quietest of the three: labels recede to --text-muted, so the ledger reads as values with annotations rather than pairs. This is the least busy card of the set and the clearest test of your question — compare it against 1g and 1h side by side. Weakness, and a real one: at 4.29:1 these labels sit just under WCAG AA (4.5:1 for 16px), and they are four of the eight required items — so this is a deliberate trade, not a compliant step. 1h gets most of the same calm at 10.9:1 by using weight alone.
The date sits under Status, unlabelled. Where an unlabelled date can live without ambiguity: under Status (here) reads as "Published — since 4 Aug", which is the one place a bare date needs no label because the line above supplies the verb; beside the title as in 1g, where position alone marks it as metadata; or appended to the photo caption, which is worst — it reads as the photos' date, not the brief's. Labels here are regular --text-body (10.9:1) with the date one step down in --text-muted, so the pair reads as value then footnote. Net: the ledger keeps its four rows — the date simply moves off the title line into the Status cell, so the title is free for a long project name again.
Picked: 1h — regular --text-muted labels remove the four-small-headings effect while holding 10.9:1, on the containerless frame that matches the rest of the product. It is already applied to My Projects Mobile Minimal and, re-laid-out, to My Projects Desktop Minimal; the specimen at the top of this page is the same card. The rest stay as reference: 1i is quieter still but its labels sit at 4.29:1, under AA; 1b is the strict label-darker reversal; 1f if one large photo should identify the project; 1a if the list grows long enough that density beats the aligned ledger.