← Back to portfolio

Case study 01

BetterBooking.ai

An AI negotiation assistant for Airbnb guests — and a case study in deciding how much of that decision to hand to the AI.

Role

UX / UI Designer (sole designer)

Engagement

Freelance, joined during early ideation

Timeline

5–6 months

BetterBooking.ai product screens showing the negotiation flow and dashboard

01 — The product problem

An AI that negotiates for you — but how much should it decide?

BetterBooking.ai is an AI assistant that negotiates Airbnb prices on a guest's behalf, built as a browser extension guests use alongside the sites they already book on. Negotiating is awkward and time-consuming for most people — the product's bet was that an AI could do the back-and-forth for you.

I joined at the concept stage, before any of that existed as a real flow, as the sole designer. The interesting design problem was never "can the AI negotiate" — it was where the AI should act on its own, and where the guest needed to stay in the loop.

Figma user flow map showing the original and redesigned BetterBooking.ai booking journey

Early flow mapping — translating the AI-negotiation concept into a real, step-by-step journey.

02 — The UX challenge

Guests were asked to invent a number they didn't have

The first version of the flow asked guests to type in their own target price before the AI would start negotiating. That's a reasonable-sounding requirement — but it assumes the guest already knows what a fair target price is, and most don't. Airbnb doesn't tell you what a host might realistically accept.

The tension this project kept surfacing

How much should the AI decide on the guest's behalf — and how much should it just get out of the way?

This framing is my synthesis of the problem, not a quote from an original research brief — it's the tension that kept showing up once we started designing around AI-assisted pricing.

03 — Initial assumption

What the first version assumed

The earliest flow treated the target price like any other form field: the guest fills it in, the AI sends it. The assumption behind that design was straightforward.

Assumption, not evidence

Users would be comfortable entering a target price themselves.

This wasn't validated going in — it's what the first version of the flow was built on, and it's what research ended up testing.

04 — Research

Testing that assumption with real users

Once the revised flow had a working prototype, I ran remote interviews to see whether the target-price assumption actually held up.

12

Interview participants

1

Alpha user cohort

4

Research questions

Who

Digital nomads and frequent Airbnb users — people who book often enough to have real opinions about pricing and negotiation.

Why them

They were the closest available proxy for the alpha user base, and the group most likely to have already tried to negotiate a rate on their own.

What we wanted to learn

  • Pricing expectations
  • Willingness to negotiate
  • Trust in an AI acting on their behalf
  • Whether the flow itself was understandable

What changed

The target-price step — specifically, how the AI's pricing recommendation was presented to the guest.

Figma board with BetterBooking.ai user stories and research notes from participant interviews

User stories and interview notes from the alpha research sessions.

No formal affinity map was built — synthesis happened directly from interview notes, and pricing uncertainty was the recurring theme.

05 — Key insights

Users didn't know what "reasonable" looked like

Insight 01

Users don't necessarily know what a reasonable negotiation starting point looks like.

Why it matters

A blank target-price field puts the cognitive burden on the guest before the negotiation even starts — and creates hesitation right at the point where you want momentum.

Design implication

Instead of asking the guest to generate a number, the AI can offer a starting point the guest only has to evaluate.

Open question

How much autonomy would users actually trust the AI to have?

Research surfaced pricing uncertainty clearly. It didn't fully answer the trust question — that stayed open through the rest of the project.

06 — Design exploration

Three ways to split the decision

Before settling on a direction, I mapped out how much of the pricing decision could reasonably sit with the AI versus the guest. These were concepts I considered, not variants that were built and tested head to head.

Option A

User chooses the target price

Pros

  • Maximum user control

Cons

  • High cognitive load
  • Requires the user to already know what's reasonable

Option B

AI sets the target price automatically

Pros

  • Low effort for the user

Cons

  • Removes user control
  • Trust risk — guest never sees the reasoning
Selected

Option C

AI recommends, user decides

Pros

  • Removes the guesswork
  • Preserves user agency
  • Makes the AI's value visible

Cons

  • Still needs a clear moment for the user to react

Option C reduced the effort of Option B's automation without losing the control Option A protected — the guest still decides, but from a starting point instead of a blank field.

07 — The key product decision

AI recommends. The user decides.

Problem

Guests had to invent a target price with no pricing context.

Insight

Guests needed a reasonable starting point, not a form field.

Decision

Let the AI recommend a target price instead of asking the guest to generate one.

Principle

AI recommends. The user decides.

08 — Final interaction

From generating a number to evaluating one

Before

Blank target-price field.

"What number should I enter?"

After

AI-generated recommendation, pre-filled.

"Does this feel right?"

BEFORE — GUEST ENTERS TARGET PRICE MANUALLY Modern Studio in City Ce… pending airbnb Original Price $320.00 Target Price Enter amount Check-in Dec 15, 2025 Check-out Dec 16, 2025 Start Negotiation Remove Guest has to guess a fair number with no pricing context. AFTER — AI SUGGESTS THE TARGET PRICE Modern Studio in City Ce… pending airbnb Original Price $320.00 Target Price $300.00 AI Check-in Dec 15, 2025 Check-out Dec 16, 2025 Start Negotiation Remove Guest reacts to a data-backed starting point instead of guessing.

Same negotiation card, same fields — the only change is who fills in Target Price first: the guest, or the AI.

The redesign didn't remove the guest from the decision. It changed the task from generating a number to evaluating one — a lower-effort, lower-stakes way to reach the same input.

1

Recommendation over blank input

Swapping a free-text field for an AI-generated starting point removed the guesswork that was causing hesitation, and made the AI's value visible before the guest commits to anything.

Accept / adjust / decline states for reacting to the recommendation weren't part of the shipped interaction I validated — see Section 13 for where I'd take that next.

09 — Validation

What the prototype testing actually covered

I built a high-fidelity Figma prototype and tested it before any of this was built — the browser-extension format made it hard to catch friction any other way once it shipped.

What was tested

  • Clarity of the overall flow
  • The pricing interaction specifically
  • Willingness to negotiate at all
  • Trust in an AI acting on the guest's behalf
  • General comprehension of what was happening

What changed as a result

How the AI's pricing recommendation was presented — from a field the guest had to fill in, to one the AI pre-filled for the guest to react to.

Testing confirmed the flow was legible, but didn't isolate whether the recommendation itself changed negotiation behavior — that stayed an open question.

10 — AI trust & edge cases

The questions beyond the happy path

An AI negotiating on someone's behalf raises questions that don't show up in a first-pass flow. These weren't fully designed during my engagement — they're the open questions I'd want answered before giving the AI more autonomy.

Framed here as open questions / next areas to validate — not as work that was completed.

11 — Design → development

Staying close through implementation

Once the interaction was validated, the designs moved to the frontend team — but handoff wasn't a Figma file and done. I stayed in follow-up meetings, reviewed builds against the design, and worked through edge cases the static screens hadn't anticipated. Most of that work was about behavior and consistency — how a component should respond in each state — more than it was about exact spacing values.

Design

Handoff

Dev review

Iteration

HANDOFF — COMPONENTS PULLED FROM THE LIVE CARD STATUS BADGES pending completed ACTIONS Start Negotiation Accept The Offer Remove TARGET PRICE FIELD Manual Enter amount AI-suggested $300.00 8px radius 1px border accent on focus CARD SHELL 18px corner radius 24px internal padding Bold headline, muted labels coral #E2536A primary CTA

Badges, buttons, and the Target Price field — annotated directly from the shipped negotiation card for the dev handoff.

12 — Outcome

What actually shipped

Design outcome

A validated AI-assisted pricing interaction — the target-price step moved from an early concept to a tested, developer-ready experience, with the design decision grounded in direct user feedback.

Product outcome

Design work concluded at development handoff. Product-level outcomes weren't tracked as part of my engagement.

13 — What I'd do next

Where I'd take this if I kept going

  1. Test different levels of AI autonomy — recommend-only versus act-with-approval versus fully automatic.
  2. Validate more directly whether users trust an AI-generated price, not just whether they understand it.
  3. Measure negotiation completion rate, not just comprehension in a prototype.
  4. Measure how in-control users actually feel, not just how in-control the flow looks.
  5. Test repeat usage — does trust in the recommendation change after the first negotiation?
  6. Understand whether the AI's recommendations actually improve negotiation outcomes, or just make the ask feel easier.

14 — Contributions

What this project actually asked of me

1

Product definition

Translated an ambiguous AI concept into a concrete, end-to-end interaction.

2

UX strategy

Identified the uncertainty in the target-price interaction and reframed the problem around decision support instead of data entry.

3

AI interaction design

Designed a recommendation model that reduced guesswork while keeping the guest in control of the final decision.

4

Research

Used interviews and prototype testing to identify where the flow was creating friction, and iterated the interaction based on what came back.

5

Delivery

Worked with frontend engineers through implementation, resolving interaction details and edge cases as they came up.

Next case study →