CHOICEFLOW · AI AGENT UX · CONCEPT 2026
The Receipt Before AI Acts
ChoiceFlow explores the pause before AI acts: what it understood, assumed, changed, avoided, and needs permission to do next.
ROLE
Sole Product Designer
SCOPE
AI UX · Interaction Model · Prototype
STACK
Figma · Claude · HTML/CSS/JS
CONTEXT
AI meal ordering · iOS / mobile web
POINT OF VIEW
The Pause AI Was Missing
AI products are getting very good at deciding for us. The fragile moment is what happens right before the system acts: what it understood, what it assumed, and whether the user still feels in control.
I used meal ordering as the test case because food is personal, time-sensitive, and full of ambiguous constraints. ChoiceFlow is not about discovery. It is about consent.
PROBLEM
Four questions users can't answer in most AI flows.
Each unanswered question is a small withdrawal from trust. Stack enough of them and people either stop delegating, or delegate while feeling uneasy. Neither is a product you love.
01
What did it actually understand?
The user sees an answer, not the path to it. Understanding and output arrive as one opaque step.
02
What did it assume about me?
Inferences are silent. There's no way to tell what was understood from what was guessed.
03
Can I adjust without starting over?
Most flows force a restart, throwing away everything the user already said.
04
What happens when I confirm?
Will it order? Save? Remember? The consequence of one tap is rarely spelled out.
The design question: how might an AI flow let users understand, refine, and approve a recommendation before the system acts?
INTERACTION MODEL
Say · See · Steer · Sign Off
A four-beat structure any agentic flow can follow. The order of the beats matters more than any individual screen: reflection comes before recommendation, refinement comes before commitment, and memory is approved, never assumed.
01 Say
The user expresses intent naturally. No menus, no filters, no perfect prompt. Vague is valid input.
TRUST CHECKPOINT
02 See
The system reflects what it understood as editable criteria. Correction happens before the recommendation gets specific, while it is still cheap.
03 Steer
The user adjusts without restarting. Every change preserves prior context and explains what shifted and why.
TRUST CHECKPOINT
04 Sign Off
Before anything is ordered, saved, or remembered, the user reviews the Decision Receipt: what the AI understood, assumed, and is about to do.
PROTOTYPE FLOW
One journey: tired, hungry, and unsure.
The prototype follows a single user through the four beats. Someone tired and hungry but unsure what they want. Most food apps treat that state as a routing problem. Choiceflow treats it as the starting point.
SCREEN 01 · SAY · VAGUE CRAVING INPUT
Uncertainty is the starting state, not a problem.
The prototype follows a single user through the four beats. Someone tired and hungry but unsure what they want. Most food apps treat that state as a routing problem. Choiceflow treats it as the starting point.
SCREEN 02 · SEE · UNDERSTOOD AS
The cheapest moment to fix a misunderstanding.
Before recommending, the system shows what it is acting on, and every criterion is editable. A two-second chip edit here prevents a wrong recommendation later.
SCREEN 03 · ONE FOCUSED RECOMMENDATION
Decision support means narrowing the choice.
One best-fit order, not a grid of twelve. Price, time, confidence, and ways to refine. The AI commits. The user keeps every way out.
SCREEN 04 · THE "WHY THIS? LAYER
Separating what you said from what it guessed.
One tap reveals the reasoning: you said → I matched → I assumed → I avoided. Keeping the user's words separate from the AI's guesses is what keeps the confidence honest.
SCREEN 05 · STEER · REFINE WITHOUT RESTARTING
Collaborative, not authoritative.
"Make it more filling." The order updates in place with a changed-because note. Nothing already established gets thrown away. Steering is a conversation move, not a reset button.
WORKING PROTOTYPE
Don't take my word for it. Try it.
DEEP DIVE
The Decision Receipt took three versions.
The receipt is the sign-off moment, where the AI lays its cards on the table before acting. It did not work on the first try.
VERSION 1 · THE LEGAL DISCLAIMER
Honest and unreadable. Testing it on myself was enough: I skimmed it the way I skim terms of service. Transparency nobody reads is decoration.
VERSION 2 · THE OVER COMPRESSION
Scannable, but it buried the two things users most need at the point of commitment: what the AI assumed, and what it will remember. Hiding assumptions recreated the original problem with nicer typography.
VERSION 3 · THE RECEIPT
The metaphor that unlocked it. A receipt is a format people already trust for "here is exactly what happened": itemized, scannable, honest. Memory becomes an explicit, opt-in line item.
THE RECEIPT AS A SYSTEM COMPONENT
A pattern that only works on one screen isn't a pattern.
I documented the Decision Receipt the way I would hand it to a design system: anatomy, states, and a rule of use. Built as Figma variants with Auto Layout. Each state changes what is emphasized, not what is true.
DECISION RECEIPT · ANATOMY
STATE · HIGH CONFIDENCE
Compact by default
Assumptions stay collapsed but visible, one tap from the surface. Never hidden behind settings.
STATE · LOW CONFIDENCE
Leads with uncertainty
Assumptions expand by default. The AI opens with what it's unsure about instead of performing certainty.
STATE · CONFLICTING CONSTRAINTS
Leads with uncertainty
Assumptions expand by default. The AI opens with what it's unsure about instead of performing certainty.
STATE · MEMORY MOMENT
Leads with uncertainty
Assumptions expand by default. The AI opens with what it's unsure about instead of performing certainty.
STATE · POST EDIT
Leads with uncertainty
Assumptions expand by default. The AI opens with what it's unsure about instead of performing certainty.
Rule of use: the receipt appears at any boundary where the system transitions from suggesting to acting: ordering, saving, remembering, spending.
EDGE CASES
Designing the hardest moments first.
High-stakes interactions break down at the edges, so I designed the failure states before the happy path.
01
The AI gets it wrong
"Comforting" gets read as rich-and-heavy when the user meant familiar. Because See comes before the recommendation, the error surfaces as an editable chip. A two-second correction instead of a wrong result that erodes trust in the whole system.
02
Confidence is low
When intent is genuinely ambiguous ("something good I guess"), the system doesn't fake certainty. It asks one clarifying question, the one worth the most, and never a quiz. Pretending to know teaches people that the confidence signal means nothing.
03
Constraints conflict
Under $25 + ready in 15 minutes + healthy may have no perfect answer. The system never silently drops a constraint. It names the tradeoff, shows which one it relaxed, and offers the alternative relaxation.
04
Safety-adjacent assumptions
Dietary restrictions are the one category never inferred from behavior. Ordering vegetarian three times is a pattern; an allergy is a fact. Patterns get suggested ("Want me to prefer vegetarian?"). Facts only get asked. Inferring safety-critical information feels magical right up until it is dangerous.
BEHIND THE SCENES
Mostly me, Figma, and Claude.
I wanted the case study to demonstrate the thing it argues for, so the demo above is real and runs on this page.
Figma
Exploration, screens, and the receipt spec. Variants for each state, Auto Layout, tokens matched to my portfolio system.
Claude
Build partner for the demo. HTML, CSS, and a small parsing engine, iterated live. Some decisions only became obvious once I could feel the timing, like letting the criteria chips appear one at a time so you watch the AI understand you.
The gap between design and implementation is shrinking. I think that is the best thing to happen to interaction design in years. It means the prototype can be the argument.
WHERE THE PATTERN TRANSFERS
Benefits enrollment:
Assumptions are the decision. Surfacing them is the product.
Travel booking:
Sign-off on what was optimized before money moves.
Agentic checkout:
A receipt before the receipt.
Subscriptions & finance:
Before cancellation, show what changes and why.
REFLECTION
What I learned, and what is still unresolved.
01
The receipt has a cost.
Every confirmation step is friction, and trust patterns that slow people down get skipped. The real product question is adaptive trust. A first-time user sees the full receipt. The hundredth order earns a one-line version with details a tap away. Earned brevity, not assumed brevity.
02
Reflection can feel like latency.
"Understood as" adds a beat between asking and getting. Motion carries real weight here. The chips should feel like the system thinking with you, not loading.
03
Concepts don't survive contact with users unchanged.
The next step is putting the prototype in front of people and measuring where they hesitate, what they skip, and whether the receipt changes confidence.
As AI moves from answering to acting, the interface's job shifts from presenting results to earning the right to act. The products that win won't be the ones that decide fastest. They'll be the ones users let decide.