Bringing questions and offers into one private chat
Buyers used to ask questions in public comments and negotiate in a separate offers tool. We replaced both with a single private conversation, and after purchase, each sale runs through that same thread, from delivery to the seller’s payout.
The case in 30 seconds
The challenge
A buyer pays €3,000 for a bike they have never seen, to a stranger who, in 83% of cases, is in another country. Yet questions were asked in public comments and prices negotiated somewhere else, so the context got lost between the two.
The bet
Bring questions and offers into one private conversation, then use that same thread for the rest of the transaction.
My role
I led the design of the chat on web and in the app, from the first version, shipped in two weeks, through to order tracking. I was the only designer on it, except for the first version of the claims flow, which I scoped and then handed over to the team’s UX designer.
The outcome
The chat is where the transaction happens. After purchase, the sale runs through the chat until delivery. Before purchase, buyers are free to skip it, yet 3 in 4 bike sales follow a conversation, and 6 in 10 follow an offer. In June 2026, when the buyer replied to the seller, the conversation ended in a purchase 42% of the time, against 7% when the seller never wrote.
The thread scaled with the business. It took on claims, order tracking and moderation without a redesign, while volume grew from 12,000 to more than 100,000 conversations a month.
Role
Product Design Lead, buycycle
Reporting to
Co-founder, acting CPO
With
One PM, five engineers
Design team
One UX designer, one UX writer
Period
2023 – 2026
01 · The problem
Buyers asked questions in one place and made offers in another.
Questions went into public comments under the listing, offers into a separate section, and nothing linked the two.
Before the chat, a buyer interested in a bike had to use two tools that did not talk to each other.
Questions and answers were visible to everyone. Some users ended up posting their phone number.
Public comments. On web and in the app, a "Questions & Comments" section below each listing was visible to every visitor. Buyers asked about size, condition or service history there, and sellers answered in front of everyone.
Final offer, counter-offer, a rejection in red: everything needed to set a price, nothing to discuss the bike.
A separate offers tool. On the web, buyers made an offer from the listing, but everything after that happened in the user profile, as in the app. Sellers saw amounts and statuses, and could accept, reject or counter an offer, or even mark one as final. Nothing, however, bound the buyer, not even an accepted offer.
Neither tool was the problem on its own. The problem was the gap between them:
Sellers lost the context. An answer about drivetrain wear stayed in the comments, while the offer that depended on it sat in another section, so the seller responded to an amount without seeing the question behind it.
Nobody negotiates in public. A seller cannot give one buyer a better price while every other buyer is watching. To take the conversation elsewhere, some users posted their contact details in the comments, often enough that a warning appeared below the input field, and we moderated what we could. We did not know how widespread this was, but we knew that moving from a public exchange to a one-to-one conversation would be an improvement.
Trust had nowhere to build. Buyers and sellers are strangers, often in different countries and speaking different languages. Trust comes from an ongoing exchange, and a public comment thread works like a shop window, not a conversation.
Users said so themselves:
“Everything is handled through comments on the listings, and everyone sees everything.”
A seller, June 2023
“It would be nice to talk privately with interested buyers, not only through the comment function.”
A seller, June 2023
In February 2024, we replaced both tools with a single private thread between buyer and seller.
02 · The bet
One thread, and an interface that stays out of the way.
We trusted buyers and sellers to negotiate, and routed the whole transaction through their conversation.
The bet was that a private conversation would move negotiations forward better than two separate tools. It led to three principles, each framed as a question:
Trust over control. What does the interface look like if we trust buyers and sellers to run their own negotiation?
Restraint over intervention. How much can we remove from the interface while keeping the essential actions within reach?
Infrastructure over features. How does a pre-sale messaging tool become the foundation of the whole transaction?
Every state and edge case was covered before any screen was drawn.
These principles became four interaction rules:
Thumb zone. All primary actions sit at the bottom of the screen.
A minimal header. The screen is for the conversation, not for transaction details.
A strictly linear thread. Offers are messages like any other, and platform updates appear in the thread rather than in a modal. Making an offer opens a compact bottom sheet that leaves the conversation visible.
A fixed action hierarchy. Never more than two actions on screen, and only ever one primary button.
The chat uses no red, and green is reserved for confirmed transactions.
Actions at the bottom, a minimal header, and the rest of the screen for the conversation.
The chat launched in February 2024, as the marketplace was scaling: sales in 2024 were four times those of 2023. A year later, a major update simplified the interface and put the conversation between buyer and seller at the centre, which meant deciding when the platform should step in and when it should stay out. This case shows that version.
After launch, reviews talk about the conversation itself:
“Thanks to the chat function, communication with the buyer went without a single incident.”
A seller, June 2024
“The chat function with translation is a game changer.”
A buyer, August 2026
03 · When to step in, when to step back
Three decisions that keep the negotiation between buyer and seller.
The platform stays quiet during the negotiation and steps in when someone commits.
In the chat, buycycle is always a third participant, so every design decision raised the same question: should the platform step in here, or leave buyer and seller to it? Over time, a rule emerged. During the negotiation, the platform stays in the background. It steps in only when someone commits: when the seller accepts an offer, or when the buyer pays. The three decisions below follow this rule, and each was reached in a different way: the first by persuading the team, the second by holding firm against internal requests, the third by deciding together.
Decision 01 · Persuading the teamNo Decline button on offers
Situation
2023, the first version of the chat. Everyone on the team expected a Decline button.
Choice
When an offer arrives, the seller can accept it or counter, and the buyer can buy or counter. Neither can simply decline.
Benefit
A disagreement no longer ends the exchange: it becomes a counter-offer, and the negotiation stays open.
Trade-off
Some buyers and sellers stop replying instead, and sellers have long complained about it.
In hindsight
I would make the same choice again.
A typical scenario. Declining ends the conversation. A counter-offer moves it forward.
In 2023, as we designed the first version of the chat, we had to decide what each side could do when an offer arrived. The answer seemed obvious. The PM, the engineers and the co-founder I reported to all expected a Decline button, because that is how most people picture a negotiation: one side proposes, the other declines.
I proposed that we leave it out. On buycycle, buyers want to buy, sellers want to sell, and the platform only works if they end up agreeing. A refusal hands the next move back to the person who has just made an offer, and it closes the conversation. A counter-offer says the same thing, "not at this price", but keeps the negotiation going. So when an offer arrives, the buyer can buy or propose another price, and the seller can accept or do the same. For the same reason, no offer is final: as the conversation goes on, a buyer may learn something new about the bike and revise their price.
Rather than argue for a principle, I showed the team the same negotiation in two versions, one with a Decline button and one where the only option was to make another offer. The comparison convinced them. Two years later, two people who had joined after 2023 raised the question again. The arguments were the same, and so was the outcome. The decision has not changed since.
This choice has a cost, and I do not want to understate it. When one side disagrees but does not want to counter, they simply stop replying, and sellers have long complained to us about it. A Decline button would not have solved this. Buyers often negotiate on several bikes at once, and sellers receive several offers and do not answer them all. These unanswered offers come from how a marketplace works far more than from its interface. That is why I would make the same choice today.
Decision 02 · Holding the lineAn accepted offer leaves the buyer free to decide
Situation
Customer support and professional sellers wanted buyers to be bound by any offer the seller accepted.
Choice
Accepting an offer means agreeing on a price. The buyer is committed only once they pay.
Benefit
Buyers dare to propose a price without being bound by an accepted offer.
Trade-off
Some sellers accept an offer and then hear nothing more. After two days, we invite them to reply to other buyers.
In hindsight
I would make the same decision, but its cost grew in 2026: accepted offers lead to a purchase less and less often. It is the first decision I would revisit.
When a seller accepts an offer, the buyer can buy at the agreed price, but nothing obliges them to. Customer support wanted the opposite, because it handled complaints from sellers who had accepted an offer and never seen the buyer pay, and professional sellers asked for the same thing. Their frustration was real, and their request made sense.
I argued for the opposite. buycycle reproduces a real negotiation, in which both sides make offers until they agree, and either can still walk away at the last moment. Accepting an offer therefore means "agreed at this price", not "sold", and the buyer is committed only once they pay. Making offers binding would have served the most active sellers at the expense of every buyer who would no longer dare to make an offer. Even offline, an accepted offer does not always end in a sale.
The cost is similar to that of leaving out the Decline button: a seller may say yes and hear nothing back. Rather than constrain the buyer, we gave the seller ways to move on. The conversation stays open, either side can make a new offer, and after two days without a reply, we invite the seller to respond to other interested buyers. Some frustration remains, and we accept it. I would make this decision again, but in 2026 its cost changed in scale, as the last section shows.
Decision 03 · Deciding togetherFees stay out of the negotiation
Situation
In 2025, the co-founder, the Lead PM and I debated whether the chat should show fees during the negotiation.
Choice
Buyer and seller negotiate the price of the bike. Each side sees the fees where they inform a decision.
Benefit
Each side negotiates the price of the bike and sees their fees when they commit.
Trade-off
Some buyers only see the full cost at checkout and feel the fees were hidden.
In hindsight
Showing the total price on the product page did not improve conversion. Whether the fees put buyers off at checkout is still an open question.
During the negotiation, only the price of the bike is shown. Fees appear when each side commits. Illustrative amounts.
In 2025, the co-founder, our Lead PM and I debated what looked like a simple question: should fees be visible during the negotiation? Full transparency argued for showing them, so that buyers could decide with all the information. I argued that buyer and seller should negotiate the price of the bike, not the fees. The seller does not know the buyer’s fees and does not need to, since their goal is to sell at a fair price, and the same is true the other way round. Bringing fees into the negotiation would give both sides arguments that have nothing to do with the bike.
Both positions held up, so we decided to test. In December 2025, an A/B test showed the total price, including Buyer protection, from the product page onward. It found no gain in conversion, and in the app, favourites, messages and offers dropped significantly. We went back to showing the seller’s price. The test covered the product page, not the chat. It does not answer our original question, but it ruled out the first solution that full transparency would have suggested.
This does not mean the fees are hidden. Each side sees them where they inform a decision. Buyers see Buyer protection on the product page and at checkout, and shipping costs at checkout. Sellers see their fees when they set their price, when they accept an offer and when they confirm the sale. The chat remains a negotiation between two people.
The downside remains: some buyers only discover the fees at checkout and feel they were hidden. I assumed this surprise happened only once, since buycycle relies on repeat purchases, but we have no way to verify it, and a buyer who gives up before their first purchase falls outside that reasoning. This is the clearest limit of the decision, and the question to come back to: how to make the total cost clear without making it part of the negotiation.
In hindsight, I would again choose to decide this together, because the question was genuinely open.
04 · Built on the thread
Adapting a proven marketplace pattern to buycycle.
When the platform steps in, it speaks in the thread, always in the same format.
If the platform steps in when someone commits, it needs a way to do so. For V2, we built on a pattern found on several large marketplaces: a platform message that sits in the thread like any other message. The format already existed. The work was in deciding when the platform speaks and what it says to each side, and it speaks at the moments of commitment. The buyer learns that the seller has accepted their offer and that they can buy at that price, then that the sale is confirmed and that they can track their order. The seller learns that their bike has been bought and that they need to confirm the sale.
One format, several uses.
The same format then carried three features, without any redesign of the thread:
Claims. Post-purchase disputes, which support used to handle by email, are now resolved in the thread, with the full history of the negotiation.
Order tracking. The order and delivery steps appear in the conversation, as described in the shipping case.
Moderation. An internal task force defined the LLM moderation logic, and I designed how users find out that moderation has taken place.
For claims, I stopped at the model. I defined how the format applied to a dispute, then handed the first version of the full flow over to the team’s UX designer. That was the real test: a format I was not using myself had to be enough for someone else.
05 · The limit
What a hands-off chat cannot solve.
In 2026, conversations grew much faster than purchases.
From April to September 2026, many more buyers started conversations, but purchases did not follow. Far more buyers opened at least one conversation in a month, and each opened more of them, so the number of conversations almost doubled. Yet purchases that followed a conversation barely moved. The share of these buyers who bought fell by about a quarter, and the share of conversations that ended in a purchase by more than 40%.
My first hypothesis was that buyers were spreading themselves thin: negotiating on more bikes in parallel, and still buying only one in the end. I checked it against the data, and it did not hold.
Buyers who negotiate a lot still buy. In September, a buyer with a single conversation bought in 18% of cases, and a buyer with ten or more in 41%. The drop affected every group.
Buyers and sellers did not reply less. The share of conversations in which the seller never writes, or the buyer stops replying, stayed the same.
Buyers were not taking longer to decide. The time between a buyer’s first conversation and their purchase did not change.
The drop comes after the price is agreed. First offers stayed at around 76% of the listed price, and sellers accepted them as often as before. But an accepted offer on a bike led to a purchase in 58% of cases in April, and in 39% in September.
So the problem is neither buyers spreading themselves thin nor unanswered messages. It sits between "agreed at this price" and payment, exactly where the second decision leaves the buyer free. From April to September, accepted offers rose by a fifth, while the number of buyers who reached checkout stayed roughly the same, and those who reached it completed it as often as before. The drop-off therefore happens after the seller accepts and before the buyer reaches checkout. What remains is to understand why: a better listing elsewhere, or an offer made without a real intention to buy. I had first located the problem upstream of the chat. It turned out to sit in its last step, and checking rather than assuming led me back to my own decisions.
06 · Open questions
Two tensions, neither resolved.
Where business goals and restraint still pull in different directions.
Guiding offers without deciding for the buyer. During the negotiation, the platform already steps in a little: buttons for −5, −10 and −15% help buyers propose a price, with −10% recommended. The need is real. From April to September 2026, more than 70% of first offers on bikes were below 85% of the listed price, while an offer within 5% of the listed price converted 3.8 times better. The question is how far to guide buyers without deciding for them.
Keeping the principles alive. A decision does not stay made on its own. The team changes, and each new person arrives with the instincts everyone had in 2023: a Decline button, binding offers, fees shown everywhere. A large part of my role has been to restate the same principles and explain them again with examples, so that the team can make these calls without me. One question remains: how will these principles hold once no one is there to restate them?
The conversation is not something we built. It is something we made room for, and then protected.