Mark Meacher
Home
CASE STUDY
Price Conversation Agent
Deepening the sale
Year: 2026
Category: Seller experience
AI Assisted
Overview
When finalising a car listing in Carwow’s seller flow, every customer needs a call with a customer service agent to agree their auction price. That breaks momentum and adds manual cost. This project looked to introduce an AI agent that could propose, explain, and negotiate the reserve price using market data, with confidence scoring and triage logic deciding when a listing can be agreed by the agent versus when it still needs a human. The vision: a seller starts listing at 11pm, has a reserve price by 11:05, and is in auction the next day without speaking to anyone.
Early working concept built with Claude
User journey mapping
Fixed conversation response detail
Conversation prototype tester built with Claude
Discovery
I worked with Claude to get a rough version of the concept, enough of a working prototype to bring the idea to life and share with the team, rather than talk about it in the abstract. That prototype became the basis for mapping the feature set against a Jobs to be Done framework, breaking the negotiation down into what a seller actually needed to do at each point: understand the price, contest it, see evidence, decide, or get handed off to a person.
For the initial messaging approach, I built built a hybrid model: fixed blocks for anything legal needed word-perfect, data slots filled live from the pricing engine, and flex zones drawing from a deep, pre-approved copy library, specifically to de-risk what the agent could say to a seller. Working with Claude, I turned that approach doc into a full authoring pipeline: 363 pieces of reviewed template copy across openers, closers, core claims and evidence lines, benchmarked against explicit legal and tone checks.
Testing that library against real conversations, though, the team decided the fixed-pool approach was constraining the negotiation more than protecting it. Furthermore, it was deemed simpler just to employ an agent rather than a vast library of randomised messaged. We chose to move to AI messages rendering directly at runtime, grounded in the same rules and objection research the library had captured, rather than continuing to select from a fixed set.
Alongside the messaging work, I mapped the all potential conversations as user flows, from the recommended price through acceptance, rejection reasons, price justification, and the handoff to a support agent, so every branch the agent could take was planned and reviewed before I designed the final UI flows.





Approach
With the user flow and message architecture mapped out in discovery, I designed the core components of the conversation itself: the message types the agent could send, the evidence cards carrying pricing data, and every input a seller could give back, including price chips, rejection-reason taps.
From there I designed out every screen in the conversation end to end, refining the interaction design and the UI animation that carries a seller from one state to the next: how a message resolves before the next appears, how an accepted or rejected price transitions into its next screen, and how the propose and negotiate stages read differently without ever feeling like a generic chat window.
To hand the work off cleanly, I worked with Claude to turn the finished designs into a comprehensive design spec, covering every screen, component, state and animation timing, so engineering had one source of truth to build from rather than reverse-engineering the logic out of Figma.
Next Project
Mark Meacher
mark.meacher@gmail.com
Mark Meacher
Home
CASE STUDY
Price Conversation Agent
Faster sale price setting, in product
AI Assisted
Year: 2026
Category: Seller experience
Overview
When finalising a car listing in Carwow’s seller flow, every customer needs a call with a customer service agent to agree their auction price. That breaks momentum and adds manual cost. This project looked to introduce an AI agent that could propose, explain, and negotiate the reserve price using market data, with confidence scoring and triage logic deciding when a listing can be agreed by the agent versus when it still needs a human. The vision: a seller starts listing at 11pm, has a reserve price by 11:05, and is in auction the next day without speaking to anyone.
Early working concept built with Claude
User journey mapping
Fixed conversation response detail
Conversation prototype tester built with Claude
Discovery
I worked with Claude to get a rough version of the concept, enough of a working prototype to bring the idea to life and share with the team, rather than talk about it in the abstract. That prototype became the basis for mapping the feature set against a Jobs to be Done framework, breaking the negotiation down into what a seller actually needed to do at each point: understand the price, contest it, see evidence, decide, or get handed off to a person.
For the initial messaging approach, I built built a hybrid model: fixed blocks for anything legal needed word-perfect, data slots filled live from the pricing engine, and flex zones drawing from a deep, pre-approved copy library, specifically to de-risk what the agent could say to a seller. Working with Claude, I turned that approach doc into a full authoring pipeline: 363 pieces of reviewed template copy across openers, closers, core claims and evidence lines, benchmarked against explicit legal and tone checks.
Testing that library against real conversations, though, the team decided the fixed-pool approach was constraining the negotiation more than protecting it. Furthermore, it was deemed simpler just to employ an agent rather than a vast library of randomised messaged. We chose to move to AI messages rendering directly at runtime, grounded in the same rules and objection research the library had captured, rather than continuing to select from a fixed set.
Alongside the messaging work, I mapped the all potential conversations as user flows, from the recommended price through acceptance, rejection reasons, price justification, and the handoff to a support agent, so every branch the agent could take was planned and reviewed before I designed the final UI flows.





Approach
With the user flow and message architecture mapped out in discovery, I designed the core components of the conversation itself: the message types the agent could send, the evidence cards carrying pricing data, and every input a seller could give back, including price chips, rejection-reason taps.
From there I designed out every screen in the conversation end to end, refining the interaction design and the UI animation that carries a seller from one state to the next: how a message resolves before the next appears, how an accepted or rejected price transitions into its next screen, and how the propose and negotiate stages read differently without ever feeling like a generic chat window.
To hand the work off cleanly, I worked with Claude to turn the finished designs into a comprehensive design spec, covering every screen, component, state and animation timing, so engineering had one source of truth to build from rather than reverse-engineering the logic out of Figma.
Next Project
Mark Meacher
mark.meacher@gmail.com