The applicants dialog asks the agent to choose between three people, but it lays them out as a reading list. Below: the dialog as it ships, then three redesigns built on the app's tokens with the same demo job and the same three applicants. Each one keeps everything the current dialog shows, including the activity feed, and only changes where things go and how much room they get. A checklist after the mocks shows where each piece ends up.
Everything it shows is worth keeping, but the layout fights it. The activity feed is squeezed into a narrow column and cut off after two lines, the button stack sits in a different pane from the person it acts on, and half the right pane is empty. None of the three things that separate Nia, Erik and Jordan get any emphasis. Nia's note asks you to move the second showing. Jordan's note says Thursday, and the job is on Friday. Erik is the only one who asks for nothing. You find that out by reading every quote closely, and the fact that Jordan has the wrong day isn't flagged anywhere.
Every direction keeps all of it and fixes these four things before they start to differ:
1
2
3
4
5
6












Nothing is dropped. The flag chips are the only new thing, and they're computed from the note.
| In the current dialog | A · The Compare | B · The Pick | C · The Thread |
|---|---|---|---|
| Home showings · 3 waiting | Header | Header | Top of the left pane |
| Title and "3 people applied · sorted by fit, then price" | Header | Header | Left pane, above the applicants |
| $95, "what you posted it at" | First cell of the facts strip | First cell of the facts strip | Left pane, under the title |
| When, For, Where | Facts strip | Facts strip | Left pane; one line on a phone |
| Activity feed, newest first, quotes and timestamps | Full-height rail on the right | Rail on the right | Left pane under the applicants, plus system lines in each thread |
| "Selected: Nia Caldwell, $95, at your price." | Footer bar | The Selected block itself | Top of the thread |
| Book / Counter / Reject, named | Under the selected column | Under the selected person | Counter and Reject at the top of the thread, Book in the composer |
| Waiting on you · 3 | Top-left of the grid | "Waiting on you · 2 more" under the selected person | Label above the applicants |
| Avatar, name (links to profile), brokerage | Column head | Selected block and each row | Inbox row and thread header |
| Rating, reviews, applied time | A row each | Under the name | Thread header |
| Price and "At your price" / "$15 above your $95" | Asking row | Right side of each person | Inbox row and thread header |
| Their note, in full | Their note row | Selected block, plus a flag on each row | First message in the thread |
| Reject all 3 and keep the post open | Footer bar | Footer bar | Bottom of the left pane |
| Close (X) | Top right | Top right | Top right |
| Hidden states: Decided list, Set the time box, "cannot be booked yet", "You countered · waiting on them" | Same components and wording in all three. Decided goes below Waiting on you, Set the time goes above the applicants, and the other two appear as notes on that person. | ||
| Current | A · The Compare | B · The Pick | C · The Thread | |
|---|---|---|---|---|
| What it answers | Who applied? | How do they stack up? | Who should I book? | What do I need to settle with them? |
| Time to book the obvious one | Read three quotes, then look left | Scan across the Changes row | One click, it opens on them | Pick from the inbox, then book |
| Where the changes show | Buried in the quote | A row of their own | The reason each person came second | A flag under the message, with quick replies |
| Scales to | About 5 before it scrolls | 3 or 4 columns, then a deck | Any number, the others are one line each | Any number, it's an inbox |
| Phone | Facts on top, stack pinned | Swipe deck, footer pinned | Same order, footer pinned | Inbox, then a full-screen thread |
| Activity feed | 200px column, quotes cut off, own scrollbar | Full-height rail | Rail beside the list | Left pane, plus inside each thread |
| New data | None, only the flag rule | The flag rule and the fit rule | The flag rule, plus messages before booking | |
| Cost | New layout inside the dialog; the Desk shell is replaced | Smallest; one column, the existing mutations | Largest; job_messages policies and realtime open to applicants |
Most posts have one clear answer, and B opens on it. The activity rail sits right beside the choice. It's the cheapest of the three to build, it works the same at every width, and it fixes the sort. The top spot goes to the person who asks for nothing, instead of to whoever has the higher rating.
Counters and reject reasons already exist, and messaging exists once a job is booked. C moves that conversation earlier, to before the booking. Build it as the second step of B: a Message button on any alternative opens the thread.
It's the most honest way to lay things out when the choice really is close, but it stops working past four people. It fits best as a "Compare all" link in B once a post has three or more applicants who ask for no changes.
job_messages opened to a pending applicant and the poster, which means new policies. The private files bucket stays limited to the booking party.