QRate — personalized hotel search for travel agents.
Travel agents on Stuba scrolled through hundreds of hotels to find the right one. I redesigned search to surface hotels agents were most likely to book using past bookings and peer trends, while keeping full inventory accessible. The platform launched globally and reduced search time by 20%.
My role
Lead Product Designer
Duration & company
8 months
Collaborated with
A Junior designer, 2 front end devs, Six backend engineers, 2 QA, and support.
Context
Agents were searching hundreds of hotels for every booking
Stuba is a bedbank — a B2B platform where travel agents search and book hotels on behalf of their customers. The platform worked, in the most functional sense.
Agents could search, find a price, and make a booking. But it hadn't evolved with how agents actually worked.
Agents repeatedly applied the same filters and scrolled through results just to find a few properties they trusted.
The goal was to redesign the booking experience so agents could discover the right hotels faster while still having access to the full inventory when needed.
Problem
The old interface was a dense, table-driven list — no imagery, no hierarchy, no intelligence. Every search returned a flat wall of room types across dozens of properties.
When agents wanted to send options to their customers, the platform gave them nothing. No shareable link, no quote, no proposal.
So they'd open Booking.com and Expedia in separate tabs, screenshot rates, and piece together emails manually. Stuba was being used as a price-checker, not a booking engine.
The business problem was clear: agents weren't staying in the platform long enough to convert, and Stuba had no visibility into the customer engagement layer at all
Research
Ran two focus groups with agents from across the UK and Ireland — Tour America, Swords Travel, Elite Travel Group, E-shores and others.
A few things became immediately clear.
Agents were expert users, not casual browsers. Most logged in already knowing what they were looking for. As one agent put it:
"When I use a bedbank, it's usually because I know what I'm looking for." Any design that slowed down that path would fail, no matter how beautiful.
But they were also leaving value on the table. Because the old results page returned everything at once with no curation, agents defaulted to the same handful of hotels they always booked. They knew it too —
"You could get stuck in a rut booking the same hotels" — but the interface gave them no way out of it.
The customer handoff was broken. Agents had no way to share hotel options directly with customers from within the platform. They wanted to send curated shortlists — with imagery, pricing, and their own branding — without the customer seeing the raw wholesale rate. This wasn't a nice-to-have. It was a daily workflow problem.
The map was missing. Every agent who used competitor platforms cited the map as essential, especially for city bookings. Not a decorative map — a functional one that could zoom, filter, and show prices in context.
Decisions and tradeoffs
Surface intelligence without disrupting expert flow
Stuba had years of booking data but no way to surface it. A fully curated interface would alienate agents who already knew what they wanted. A flat list kept the status quo.
Constraints:
The solution couldn't slow down the expert or overwhelm the open-ended searcher.
Result:
QRate — a curated layer organised into contextual rows (Romance Deals, Business Hotels, Top Luxurious, Top Best for Families) generated from real booking data, sitting above the standard results without replacing them. Agents who know what they want scroll past or filter as usual. Agents who don't, have a starting point for the first time.
Before
After

Make the map functional, not decorative
Agents on competing platforms cited maps as essential — but only if done well enough to trust. A map tucked behind a button would go unused.
Constraints:
The map had to load with results by default without making the results panel feel cramped.
Result:
A split-screen view with price pins colour-coded by retail margin. Agents can zoom, search within the map, and immediately see where hotels sit relative to transport and landmarks — without switching modes.
Before
After

Bring the customer handoff inside the platform
Agents were leaving Stuba to build quotes manually — cross-referencing Booking.com and Expedia, screenshotting rates, emailing options by hand. The platform had no role in the customer relationship.
Constraints:
Agents needed price control — customers couldn't see wholesale rates.
Result:
A wishlist-to-quote flow where agents shortlist hotels, generate a side-by-side comparison of room types, rates and cancellation policies, and send it as a branded email or PDF — with prices hidden if needed — without leaving the platform.
Before
After

Turn the homepage into a command centre
The old homepage was a blank search form and five unlabelled stat boxes. Agents had no visibility into unpaid bookings, cancellation deadlines, or open service cases at a glance.
Constraints:
Search had to remain the primary action — the dashboard couldn't become cluttered.
Result:
A personalised dashboard with search as the hero, flanked by service request status. Below: a live bookings table with payment status, voucher state, and cancel deadlines surfaced proactively — so agents catch problems before they become crises.
Before
After

Outcome
64% reduction in time
spent building and sending customer quotes
30% increase in bookings
completed within the platform
45% more hotels found
Agents onboarded at launch across UK and Ireland markets
80% Improvement in task completion rate
measured through usability testing
Behind the scenes
I led a team of four — a senior designer and two UX designers — across a full end-to-end consultancy engagement for Stuba.
We worked in four phases: flows, wireframes, visual design, and handoff. Flows came first — before any screens, we mapped the full agent journey using focus group findings as the foundation. Wireframes were reviewed internally and presented to Stuba stakeholders for sign-off at each stage. Once approved, the team moved into UI in parallel, working from a shared component library to keep things consistent. At the end of the engagement, everything was documented and handed off to Stuba's development team to build.
I left for my masters shortly after handoff — which meant the documentation had to be thorough enough to stand entirely on its own.












