UI/UX case study · Concept project · Fictional brand

Ondelle — a calmer way to book care.

Brand art direction, a Figma-ready design system, an 8-screen booking app and a responsive website for a luxury salon & day spa.

Ondelle app on two phones over a thermal bathhouse background
ScopeArt direction · Design system · App · Web
PlatformsiOS / Android 390 · Web 1440 + 390
Deliverables10 frames, tokens, components, 13 photos
HandoffHTML frames → Figma auto-layout
01 · Challenge

Luxury in the room, friction on the phone.

Booking by phone during opening hours, marketplace apps that erase the brand, and no way to choose a favourite therapist. The goal: a booking flow that feels like the spa itself — and takes under a minute.

Challenge and design principles board
02 · Design system

Stone, sage, clay & olive.

Warm limestone surfaces instead of white, olive ink (13.5:1 contrast) for text and primary actions, clay as a sparing accent. Cormorant Garamond for editorial headings, Manrope for the interface. A 4-pt spacing scale, 6 radii, 3 elevations, Lucide icons.

Open the full style sheet
Design system board
03 · Key screens

Calm hierarchy, one clear action.

Each screen has one primary button in olive, prices and durations stay visible, and every tap target is at least 44 pt. Tap a frame to open the live HTML version.

04 · Booking flow

Four steps, then booked.

Ritual → therapist → moment → confirm. A persistent step bar, a sticky summary and free-cancellation reassurance keep guests oriented; the confirmation adds calendar sync and an arrival tip.

Booking flow, five screens
05 · Website

The house, online.

An editorial homepage that sells the experience first — philosophy, signature rituals, the Bathhouse, membership — with “Book a ritual” always one tap away. Designed at 1440 and 390.

ondelle.example
Website desktop homepage
Website mobile homepage

Scroll inside the frames · desktop HTML · mobile HTML

06 · Handoff

Built to move into Figma.

Frames are exact 390 × 844 / 1440 pages built with flex rows and columns that import as auto-layout. CSS variables map to Figma variables, .t-* classes to text styles, .c-* classes to components, and layers carry data-name labels.