Oleksandr Chykhaiev AI-driven UX/UI Designer
All work

Case study · Real product, shown under NDA

StayDirect

Turning past Airbnb guests into direct bookings. I was the only designer on this US startup for about four years.

Role
Sole UX/UI designer, author of the design system
Team
Outsourced; worked with the founder and developers
Timeline
About 4 years and two pivots, MVP launched in 2026
Scope
Host web app, guest mobile web app, design system (50+ components)

Problem

Airbnb owns the guest. Hosts pay fees on every stay and can’t reach guests again after check-out.

My role

The only designer for about four years, through two pivots: host web app, guest mobile web app and the design system.

Outcome

MVP launched in 2026. The founder saw faster onboarding and less friction; developers said the system sped up their work. Numbers are under NDA.

~4 yrsas the only designer
2apps: host web, guest mobile
5key flows re-created
18screens in this case
50+components in the system
StayDirect: email marketing dashboard, booking page builder and guest check-in screens

01

Context & my role

StayDirect is a web platform for short-term rental hosts who want guests to book them directly instead of through Airbnb. The founder runs 80+ rental properties himself, so the product grew out of his own operations.

Host side · desktop

Import listings from Airbnb or Guesty, get an AI-written guest guidebook for each property, build a direct booking page, send email campaigns to past guests.

Guest side · mobile web

Online check-in before arrival, then a Guest Hub during the stay: door code, Wi-Fi, local tips, check-out steps.

I worked as an outsourced UX/UI designer and was the only designer for the whole project. The product went through two pivots before the MVP, which is why it took about four years. I designed the product screens and built the design system. The client did not share user research; I worked from design tasks and the founder’s product logic.

Because I can’t show the shipped screens, I rebuilt five key flows from scratch for this case. I used it to look at my own work with fresh eyes: I wrote down the user picture as hypotheses, audited what shipped and rebuilt the design system.

02

Problem

Airbnb owns the relationship with the guest. Hosts pay platform fees on every stay and can’t reach a guest again after check-out. StayDirect’s idea is a loop: collect guest emails through a helpful guidebook, then bring guests back to book directly.

  1. Importlistings
  2. Guidebookfor every stay
  3. Guest emailscollected
  4. Campaignto past guests
  5. Direct bookingno Airbnb fee

The loop only works if both sides find the product easy:

  • Hosts, especially managers with dozens of units, need setup that scales. The shipped onboarding asked to configure listings one by one and only supported Airbnb.
  • Guests need check-in to feel quick and safe. The shipped flow had 6 steps, a marketing survey in the middle and prices that changed between steps.

The visual language had also drifted over four years: three different navigation menus, 5+ accent colours with no clear role and four icon styles. That made the product feel less trustworthy, which matters for a service that asks guests to pay outside Airbnb.

Design goals

Goal 1 · Hosts

Setup that scales

A manager with 80+ listings imports them in one pass and enters shared settings once, not per listing.

Goal 2 · Guests

Check-in that feels quick and safe

Fewer steps, nothing that isn’t about the stay, and one price from the first step to payment.

Goal 3 · Both

One visual language

One navigation, one action colour, one icon style and WCAG AA contrast for text.

03

Research (retrospective)

Without access to user research, I rebuilt the user picture from the product brief, the design files, the founder’s profile and public market data. Everything here is a hypothesis, labelled as such.

Proto-persona

Mike

A small Airbnb host with a few listings.

Main host user

Lisa

A property manager with 20–100+ units in Guesty. Closest to the founder.

Proto-persona

Anna

A repeat traveller who books the same city again.

ArtifactWhat it showed
Host CJM, 8 stagesLow points: sign-up friction, “is it even working?” while emails collect, writing campaigns
Guest CJM, 8 stagesLowest point: online check-in. Second: finding the door code and Wi-Fi on arrival
Competitor analysisAirbnb, Hostfully, Touch Stay, Enso Connect. Good guidebooks exist; the full loop for Airbnb and Guesty hosts does not
UX audit, 12 issues3 high: navigation, check-in survey step, price mismatch. Medium: progress bugs, colour roles, CTA hierarchy, red Delete next to Edit

The research set the priorities: scale for Lisa on the host side, speed and trust for Anna on the guest side, and one visual language for both.

04

StayDirect Design System: v1 to v2

I built v1 during the project. Looking back, it had the right structure but loose rules: every semantic colour could be used anywhere, spacing was mostly hard-coded, and placeholder text failed contrast (2.5:1). For this case I rebuilt it as v2 and grew it together with the re-created screens.

Style tile: a dark hero card with blue glow, an ember gradient card, a white stats card and button styles
Navigation menus3→1
Action colours5+→1
Icon styles4→1
Weakest text contrast2.5:1→4.8:1

Every new element from the screens went back into the library, documented, before the screens were rebuilt on it. What changed in tokens, colour, contrast and components is in the design system case.

05

Key decisions

1 Host onboarding: 7 screens to 4 steps that scale

Step 1: choose Airbnb or Guesty as large option cards
Step 3: all 86 units selected by default, with search, filters and statuses
Screens to finish7→4
Import sources1→2
Settings forms for 86 units86→1
  • Two sources, one choice. Airbnb or Guesty as large option cards; the one for big portfolios carries a “Best for 20+ listings” badge.
  • Instant feedback. Pasting a profile link shows the found host and “24 listings” before the user presses anything.
  • Everything selected by default. An 86-unit import is “deselect what you don’t want”, with search, filters and a disabled row for already-imported units.
  • Set once for all. Support email, Wi-Fi (pulled from Guesty) and check-in times apply to every listing. The shipped flow asked for them per listing.
  • No dead ends. The import runs while the host fills in settings; the last screen gives three clear next steps.

2 Guest check-in: 6 steps to 4

Welcome: stay card, locked door code and the four steps
Verify ID with a privacy note
Protection: damage waiver or deposit as two cards, total shown
Done: door code unlocked with Wi-Fi and directions
Steps6→4
Steps not about the stay1→0
Price changes before paymentYes→No
Progress bar matches the stepNo→Yes
  • Removed the survey step and prefilled details from the Airbnb booking.
  • Clear money. Damage waiver ($49, one-time) or deposit ($500 hold, not charged) as two cards; the total updates live and is repeated next to the button.
  • Fixed progress. Four segments that match four steps. The shipped flow showed 100% on step 5 of 6.
  • A reason to finish. A locked door code on the welcome screen; it unlocks on the last screen together with Wi-Fi and directions.
  • Trust at the right moment. “Your host only sees Verified” next to the ID step.

3 Guest Hub: a home screen that follows the stay

Hub during the stay: door code, Wi-Fi and directions first
Check-in and access: garage and door codes, then three photo steps from the garage to the apartment, and help if a code fails
Check-out day: checklist and come back direct offer
  • Door code and Wi-Fi first, the two things guests search for most.
  • The screen changes with the trip: during the stay, tips and guidebook; on check-out day, a checklist and the rebooking offer.
  • The business moment. “Come back direct and save 10%” appears on check-out day, with a code to copy.

4 Booking page builder

Booking page builder: AI edit, page sections and settings on the left, live preview of the host’s booking page with real photos on the right
  • Edit and preview side by side; the section being edited is marked in the live preview.
  • AI as a helper, not the only way. Suggestion chips fill the blank prompt; manual settings stay one click away.
  • A real reason to book direct. The “save vs Airbnb” badge is calculated from the host’s own prices.

5 Email marketing dashboard

Email marketing dashboard: direct revenue first, campaigns with bookings, suggestions
  • Money first. Direct revenue from email is the hero number; bookings and revenue sit in every campaign row.
  • Data-based suggestions (“312 guests stayed last winter”) instead of an empty “create campaign”.
  • Safe actions. Delete moved from a red button in each row into a “…” menu.

06

Final UI

18 screens across both sides of the loop, all built from the v2 library.

Two sides, one loop: host setup to booking page to email marketing, and guest check-in to hub to check-out, connected by the come back direct offer
The whole product on one board. On small screens, scroll it sideways.

Host onboarding

Guest side

Your details, prefilled from Airbnb
Review and pay
Local guide picked by the host: a host’s pick with a personal tip, and nearby places by walking time

States covered: selected and default option cards, found profile, rows needing attention and already imported, disabled limits on guest steppers, locked and unlocked door code, done and to-do checklist items.

07

Outcome & learnings

What I achieved

  • Took the product from first screens to an MVP launch in 2026 as the only designer, across a host web app and a guest mobile web app.
  • Built the design system (v1) the product was designed on, then rebuilt it as v2: 50+ documented components, scoped tokens with CSS names, AA contrast by default.
  • Five flows re-designed around the real customer, a host with dozens of units: onboarding from 7 screens to 4 steps, guest check-in from 6 steps to 4.
  • A clear product loop on one board: guidebook → guest emails → campaign → direct booking.

What changed after release

Founder and users

Faster onboarding, less friction

After my onboarding and check-in updates shipped, the founder reported that users noticed the changes and reacted positively: onboarding took less time and there was less friction along the way.

Developers

Faster to build

The developers said the design system made their work faster: ready components and tokens instead of building every screen from scratch.

This is qualitative feedback from the team. Exact numbers are under NDA.

How I would measure success

Product data is under NDA and the re-created flows were not tested in this form, so these are the targets I would set for the next round, not results.

MetricWhy it mattersTarget
Check-in completed before arrivalThe guest’s first task; it unlocks the door code85%+ of guests
Time to finish check-inShows if 4 steps really feel quickUnder 3 minutes
Time to import and set up 20+ listingsSetup that scales for LisaUnder 10 minutes
Guests who leave an email in the guidebookFuels every campaignBaseline first, then grow
Direct bookings from past guestsThe reason the product existsBaseline first, then grow

No research is not a reason to skip it

Proto-personas, CJMs and an audit made every decision traceable, even as hypotheses.

A system grows best next to real screens

Each flow added components; each component made the next flow faster.

Trust is a UI problem too

Clear money, one visual language and honest copy matter most where a guest pays outside Airbnb.

Being the only designer

Four years alone on a product taught me to document decisions, because nobody else would remember why a screen looks the way it does.

What I would test first: the check-in flow with 5 guests (time to finish, drop-off per step) and the import step with 3 property managers, to see if the targets above are realistic.

Next case Collabro A networking app for offline events, from research to MVP.