Aven Hospitality
/
2026
Turning brand identity into configuration on a white-label commerce platform. Nobody asked me to build a design system.

Overview
Aven Hospitality (formerly Techsembly, acquired by Sabre Hospitality) builds white-label commerce for luxury hotels. Each property runs its own branded store (gift cards, vouchers, experiences, dining credit) on its own domain, powered by one shared platform. One is live at giftcards.raffles.com.
I joined as a junior designer on a three-person team. After the acquisition I became the sole product designer on the hotel-facing product, owning work from requirements through developer handoff. Over three years I designed and shipped stores for 80+ luxury brands, including Raffles, Mandarin Oriental, Capella, Rosewood, Dorchester Collection, Orient Express and Shinta Mani.
This case study covers the design system I built to make those brand launches repeatable.

Challenge / Problem Statement
Every new hotel store was built from scratch.
No design system. No shared tokens, no component library, no standardized file structure. Each brand meant rebuilding the same checkout, the same product grid and the same email templates by hand, with a new palette painted on top. Three to four days per brand. Three to four brands a month.
Sales was closing faster than design could ship. Clients waited. Support fielded questions about inconsistencies between stores that should have behaved identically. Every manual rebuild was a fresh chance for something to break: a misaligned checkout step, an untranslated string, a broken RTL layout.
The obvious read was that design needed to move faster. The actual problem was that we were re-deciding solved problems eighty times.

Users and Audience
Guests. Affluent buyers purchasing gift cards, spa vouchers, dining credit and curated experiences from luxury hotel brands. Usually buying as gifts, often across currencies and languages, frequently on mobile. They arrive from the hotel's own site and expect the store to feel like an extension of it, not a third-party checkout.
Hotel clients. Brand and marketing teams at properties like Raffles, Mandarin Oriental and Capella. Their non-negotiable requirement: the store must feel unmistakably like their brand. A Raffles store and a Capella store should share nothing visually, even when they share everything structurally.
That tension, identical structure with entirely distinct expression, defined the whole project.
Roles and Responsibilities
I was the designer responsible for the hotel-facing product, owning work from requirements through developer handoff. I attended requirement meetings directly rather than receiving specs secondhand.
Requirements gathering with PM · UX and UI design · Design system architecture · Multilingual and RTL design · Email template design · Accessibility (WCAG 2.1/2.2) · Developer handoff · Client brand onboarding process
Tools: Figma (variables, components, variants, multi-brand theming), Salesforce

Scope and Constraints
Scope: Storefront, product pages, cart, checkout, confirmation and transactional emails, across desktop and mobile, for 80+ brands.
Constraints that shaped the work:
One codebase, 80+ identities. Brand differences had to live in configuration, not in bespoke design files.
10+ languages, including Arabic RTL. Layouts had to survive text expansion and full directional mirroring.
No dedicated research function. Insight came from client feedback via PM and account teams, and from patterns visible across dozens of implementations, not from moderated studies.
Luxury expectations. These brands hold their visual standards tightly. Good-enough templating wasn't acceptable to them.
Solo designer. Anything I built had to be maintainable by one person while still shipping new brands weekly.
The Working Process
1. Audit: separating the variable from the constant
I catalogued what was genuinely rebuilt for each brand versus what only changed cosmetically. The result was clarifying: checkout structure, cart behavior, form patterns and confirmation flows were identical every time. What actually varied was palette, typography, imagery and tone. We had been treating a styling problem as a design problem.
2. Design system: turning brand identity into configuration
I built the system around semantic tokens rather than fixed values, so a brand's palette maps into the system instead of being applied on top of it. Components, variants and a standardized file template followed. Onboarding a new brand became a theming exercise, not a redesign.
Onboarding time dropped from 3–4 days to 1–2. Monthly delivery went from 3–4 brands to around 10.
3. Localization: designing RTL instead of leaving it to interpretation
Translations had no designed states. Developers were interpreting how Arabic should behave, which meant it behaved differently across brands. I designed RTL layouts in Figma and built directional handling into the system, so it shipped consistently rather than being rediscovered per brand.
4. Brand onboarding sheet:
Fixing the input, not just the output Client brand guidelines and product details arrived inconsistently, stalling design before it could start. I created a standardized sheet clients filled in: brand assets, palette, typography, product catalog and copy. Structured input meant design began with everything it needed.
Outcomes
80+ brands designed and shipped
60–70% faster brand onboarding (3–4 days → 1–2 days)
~3x monthly delivery (3–4 → ~10 brands)
10+ languages supported, including Arabic RTL
WCAG 2.1/2.2 compliance built into the system
What I Learned
The bottleneck was never design speed. It was repeatability. Once brand identity became configuration rather than a decision made fresh each time, delivery tripled without anyone working faster.
Some delays start before design does. Part of every launch was spent waiting on brand assets that arrived scattered and incomplete. A standardized sheet fixed that without touching a single component.
Project goal:
Turn repeated brand launches into a scalable white-label design system.
Client
Aven Hospitality
Year
2026
Stack
Figma, Salesforce
See it live

