Skip to content

The composer at rest

What your input box says when no one is typing into it.

9 min

The composer at rest is the first thing a new user ever sees in your AI product. Before they type. Before they've committed to anything. It is the single most-viewed surface in the whole product, and most teams treat it like a placeholder string.

That's the gap. The composer at rest is a thesis statement. It tells the user what this product is for, what it won't do, and how it wants to be asked. Done well, it does the work of an entire onboarding flow, every session, silently.

"The cursor is the product's opening line. Decide what it says before you decide what the font is."
The pattern

One verb, one scope, one slot.

The best composers-at-rest I've studied all share a shape. A verb, an object, and exactly one decision chip beside the field. No rotating carousel of six example prompts. No grid of use-cases jostling for attention. One verb, one scope, one slot.

The verb does the heaviest lifting. It tells the user the kind of move the model is about to make. Summarize, draft, find, compare. These are not arbitrary. Each one implies a different model trajectory, and the user's expectation begins to shape itself against the verb before they've finished reading the placeholder.

Live composer · hover to stop the rotation
Rotating verbs teach the model's range without selling it
BriefSource: this workspace
Rotating prompt · 01 / 04Focus the field to stop the rotation
The why

Empty states carry the most intent.

A user who has just opened a chat product is not a power user. They don't know the boundaries. They're probing. The empty state is the only place in the whole product where you can talk to them without interrupting them, because they are looking for a cue.

This is the moment where teams overcompensate. They stuff the empty state with twelve example cards, three personality choices, a settings gear, and a half-assed avatar. Every addition is a vote against the user's ability to guess. The best composers trust the user to guess, and give them two specific nudges to start from.

Three variants

Moves I've seen work.

  • The bracketed verb. A single verb in brackets that rotates every 4 to 6 seconds. Implies scope without hardcoding it. The bracket is the syntax cue: it's a slot, fill it.
  • The single-chip scope. One chip, beside the field, naming the source. "From this workspace" or "From my Gmail" or "From the uploaded file." Tells the user what universe the answer will live in.
  • The negative capability. Placeholder copy that says what the product won't do: "Ask about any doc in Q2 · this doesn't have access to Slack yet." Sets boundary without shame.

The trap

Prompt libraries are a product-market fit tax.

When a team can't decide what their composer is for, they ship a prompt library. A grid of twelve example questions. This is almost always a sign that the underlying product has a positioning problem, not a composer problem. The library is the scaffolding of a house that never got built.

A library in the empty state caps the ceiling at whatever your imagination was three weeks ago. Users read it as: here's the set of things this product is supposed to be good at. They don't wander, don't explore, don't push the model. You've signposted a small town in what was meant to be a continent.

Failure modes

What this pattern gets wrong when it gets wrong.

Confidence theater
Language or typography that performs certainty beyond what the model actually has.
Ambiguous state
Running, done, errored, paused all look the same. The user has to infer from context.
Empty disclaimer
A legal-feeling warning that carries no specific information about this particular response.
Seen in the wild

Three shipping variants worth copying.

  • A bracketed verb suggestion rotating every 6s
  • A single button beside the composer, not four
  • Placeholder copy that says what the model won't do