← All work

Case study 04 · UX research & UI design

LuxxStays

A hotel booking platform rebuilt around the questions people actually ask before they book.

I watched people try to book a room on an existing booking site and recorded every place they hesitated. Almost none of it was about aesthetics. People stalled where the page failed to give them something to decide with — a filter, a rating, a room size, a photograph that wasn't the fifth of five.

Role
UX research, UI design, prototyping
Duration
Four months
Platform
Responsive web
Methods
Moderated usability testing, affinity mapping, journey mapping, task flows, sketching
Tools
Figma, Miro

01 — Overview

Booking is a confidence problem

LuxxStays lets someone find a hotel, compare it honestly against the alternatives, and book it without leaving the site to check something elsewhere.

The brief was a booking system: browse hotels, compare prices, reserve a room. What the research turned it into was something narrower and more useful — a system for building enough confidence to commit. Every hesitation I recorded came down to a missing piece of evidence, and almost every design decision that followed was about putting that evidence where the decision happens.

The outcome is a responsive site built around three moments: a search that understands where you want to go, results you can actually narrow, and a room page that answers the questions people were previously opening new tabs to answer.

02 — The problem

Aesthetic over functional

What people were up against

One participant summed the site up on the landing page: “it's very welcoming, it's as if I am already on vacation.” Two screens later the same person was stuck, because there was no way to filter to a budget and the destination field was a drop-down containing every country on earth.

That gap — a beautiful surface with nothing underneath it to decide with — repeated through the whole flow. Ratings only appeared after a hotel had been selected. There was no reviews section. Rooms had five photographs of poor quality and no stated size. Add-ons amounted to alcoholic beverages. The cancellation penalty was 50%, and you found that out late.

The goal

What I set out to build

A booking flow where every question a person asks is answered on the screen they ask it on — and where the commitment is only requested once the confidence has been earned.

  • Narrow the results before you browse them, not after
  • Put ratings, reviews and photographs before the decision
  • State the room, the price and the policy in plain terms
  • Keep the running total visible from the first click to the last

03 — Process

Four months, in order

Each phase produced the input the next one needed. The affinity board came out of the testing notes; the journey map came out of the affinity board; the flow came out of the journey map. Nothing here was made to fill a portfolio slot.

1

Observe

  • Moderated usability testing
  • Live note-taking
  • Task-based scenarios
  • Verbatim capture
2

Synthesise

  • Affinity diagram, 3 stages
  • Theme & sub-theme grouping
  • Customer journey map
  • Opportunity areas
3

Structure

  • User flow diagram
  • Hand-drawn sketches
  • Layout iteration
  • Component decisions
4

Build

  • High-fidelity screens
  • Interactive prototype
  • Responsive behaviour
  • Walkthrough & iteration

04 — Usability testing

I watched people try to book a room

Rather than ask people what they wanted from a booking site, I gave them a task on a site that already existed and wrote down what happened. Sessions were moderated and note-taking was live, colour-coded as it went: what the participant did, what they said, and where the interface got in the way. These four pages are the raw record.

Handwritten and typed usability testing notes, session one.
Session notes 01 — landing page and destination selection
Usability testing notes, session two.
Session notes 02 — search results and filtering
Usability testing notes, session three.
Session notes 03 — room selection and add-ons
Usability testing notes, session four.
Session notes 04 — checkout, payment and cancellation

Click any artefact to view it full size

“I wish I could somehow filter from low to high prices. The process would be quicker.”Participant · search results
“I would prefer to type in the destination instead of the drop-down. It's time-consuming.”Participant · destination
“I expected more pictures of the room.”Participant · room selection
“I prefer to have an option to cancel whenever I want to.”Participant · checkout

05 — Affinity mapping

From loose notes
to a design brief

Every observation went onto a note, colour-coded by whether it was something the participant did, something they said, a pain point or a positive. Then the board was worked in three passes: get everything down, organise into rough piles, then split the piles into sub-groups specific enough to design against.

Affinity diagram stage one: individual observations captured as coloured notes.
Stage 01 — capture everything
Affinity diagram stage two: notes organised into rough groups.
Stage 02 — organise into groups
Affinity diagram stage three: groups split into named sub-groups.
Stage 03 — sub-group and name
Colour legend used on the affinity board.
The legend the whole board runs on

The eleven groups that came out

Homepage · Making a booking · Destination selection · Cancellation policy · Search results · Room selection · Overall experience · Rates · Location and maps · Add-ons and extras · Filters

Read in one go, the board says something quite specific. Almost nothing sat under “Homepage” — people liked it. The weight was under selection and comparison: filters, room size, images, prices, proximity to the sea, airport transfers, whether the coffee machine exists. All of it is evidence for a decision, and none of it was on screen at the point the decision was being made.

06 — Findings

Three problems worth designing against

Each one is paired with the decision it produced. If a design choice below can't be traced to a note on the board, it didn't get made.

Finding 01

People browse blind because they can't narrow

What I observed

There was no option to filter to a preference. Selecting a destination meant scrolling a drop-down of every country. Participants worked around it by opening more tabs, and one gave up on comparing altogether and took the first result that looked plausible.

What I did

A persistent filter rail on results — price range, facilities, star rating, length of stay — with a type-ahead destination field on the home search. Narrowing happens before browsing, and the filters stay visible so the person can see what they've excluded.

Finding 02

The evidence arrives after the decision

What I observed

Ratings only appeared once a hotel had been selected. There was no reviews section at all. Rooms carried five images, described as poor quality, and no stated size — “the room size is not mentioned on the page.” People were being asked to choose between things they couldn't see.

What I did

Rating, nightly price and a representative photograph moved onto the result card itself. The room page carries a full gallery, room detail, what the place actually offers, and guest reviews with names attached — so comparison happens on the page instead of in another tab.

Finding 03

Commitment is asked for before confidence is earned

What I observed

“The booking process was not concise.” Participants got confused between two beds and didn't know what fare they were on. Add-ons appeared so late that one person was discouraged from booking. Cancellation carried a 50% penalty, mentioned only briefly.

What I did

A booking summary panel that stays on screen through the whole flow: dates, guests, rooms, the line items, the discount, the occupancy tax and a grand total that updates as choices are made. Policy and add-ons surface at room selection, not at payment.

07 — Customer journey map

Where the mood breaks

Mapping one traveller from “I'm going on holiday” to “payment complete” put the emotional curve next to the behaviour that caused it. The high point is the landing page. The two lows are filtering and add-ons — both moments where the person wants to narrow something down and the interface won't let them.

Customer journey map across eight phases with thoughts, emotions, goals, behaviours, pain points, positive points and opportunities.
Eight phases · thoughts, emotions, goals, behaviours, pain points, opportunities

Click to view full size · open in Figma

The dips

  • Filters & location. No way to filter to budget; a drop-down of every country to find one city.
  • Rating & map. Ratings hidden until after selection; no reviews; no map, so no sense of where anything is.
  • Add-ons. Available extras were limited to alcoholic beverages; nothing for families, transfers or breakfast.

The opportunities they produced

  • Filters that let a person find what's inside their budget quickly
  • A search field for the destination instead of a country list
  • A reviews section where guests write and rate in their own words
  • A visual map with distance to the centre and to the sea
  • Room size in square metres, and images worth looking at
  • Add-ons beyond the bar: transfers, breakfast, facilities

08 — Structure

The shortest honest path to a booking

The flow diagram exists to count steps. Every branch that didn't move the person closer to a confident decision was a candidate for removal — and the sketches that followed were deliberately rough, so feedback stayed on where things go rather than what colour they are.

User flow diagram of the booking process from landing to confirmation.
User flow — landing to confirmation
Hand-drawn sketches of the LuxxStays layouts.
Hand-drawn layout exploration

Open the flow in Figma →

09 — High fidelity

The whole system

Warm, photographic, and deliberately quiet around the content — the hotels have to be the loudest thing on the page. Below is the full screen set as built in Figma, followed by the decisions that shaped it.

The finished LuxxStays landing page with photographic hero and search bar. Hand-drawn sketch of the LuxxStays landing page: logo, headline, search bar and recent searches. SketchFinal
Drag across — the landing page, from paper to the finished screen
The complete LuxxStays screen set: landing page, search results, hotel detail, booking summary and confirmation, in desktop and responsive layouts.
Every screen in the prototype — desktop and responsive

Click to view full size

LuxxStays case study cover showing key screens.
Key screens in detail

Interface decisions

  • Search sits on the hero, not under it. Location, check-in, check-out and guests are the first thing on the page, because they're the first thing in the person's head.
  • The filter rail is always open. Collapsed filters get missed. Keeping duration, facilities, price and rating visible makes narrowing feel like part of browsing.
  • Result cards carry the evidence. Photograph, star rating, price per night and a one-line description — enough to reject a hotel without opening it.
  • The booking panel is pinned. The running total, the discount and the occupancy tax stay on screen. Nobody should discover the real number at the end.
  • Reviews are named and specific. Generic star averages don't build confidence; “comfortable and welcoming stay with modern amenities” from a named guest does.
  • Recent searches persist. Booking a trip takes several sittings. The site remembers where you were.
Open the live prototype →

10 — Reflection

What I'd do differently

Honest assessment

This was my first end-to-end project and it shows in one place: I tested the old site thoroughly and the new one lightly. The redesign answers every problem the research found, but “answers the problem” and “works for a stranger” aren't the same claim, and only the first one is evidenced here.

  • Re-test the prototype with the original tasks. Same scenarios, same measures — that's the only way to show the redesign actually moved anything.
  • Instrument the filter rail. Which filters get used, in what order, and where people give up narrowing.
  • Design the empty and error states. No results, sold-out dates, a declined payment — the moments where a booking flow either keeps or loses someone.
  • Audit contrast on the photographic hero. White type over a photograph is the most common accessibility failure in travel UI, and mine is not exempt.

Next case study — 02

PennySavvy →

Student savings & budgeting · Mobile