Product design case study Released July 2026

Rebuilding an End-to-End Promotions Platform

From promotion entry to guest price.

I designed a headless promotions platform that gives teams a structured way to create offers, computes the real value of each benefit, and sends one trustworthy price to six guest-facing brands.

Role
Product Design, UX/UI, product definition
Core deliverables
Admin platform, computation engine, guest experience
Scale
6 brands, 7,267 villas, 372 suppliers

Overview

One platform, understood in one flow.

The old product stored promotion rules as display copy. The new product turns those same rules into structured data, calculated value, and a guest-facing price.

01Designed and delivered

Backend data entry

Promotion Manager

A new interface for entering rules, assigning scope, tracking readiness, and safely managing live offers.

02Specified and implemented

Computation service

Computation Engine

A rules system for eligibility, benefit valuation, free-night selection, stacking, and guardrails.

03Released July 2026

Six brand sites

Guest Experience

A released experience that shows when an offer applies and carries the savings through every total.

Starting point

Free-text rules and display-only offers

Promotion details lived in prose. Eligibility and realized savings could not be computed consistently.

My role

Define the product's truth across the system

I led the UX architecture, admin interaction design, logic prototypes, guest experience, and acceptance criteria.

Released outcome

Structured offers that change the actual price

The first release carries the promotion from configuration through the inquiry total across six brands.

01 Promotion Manager

A backend promotion manager designed from scratch.

The new interface converts supplier and corporate offer language into structured, computation-ready inputs. It is the operational interface for the headless promotions platform.

Verified product screen
Released Promotions Manager list with filters, readiness, status, scope, and benefit columns
Promotion portfolioOperators can filter, audit, export, and understand readiness without opening every record.
Verified product screen
Released Promotion Manager benefit configuration for a Stay 7 Pay 5 offer
Benefit configurationFree-text offer language becomes explicit inputs for qualifying nights, free nights, selection rule, and rate basis.

AI-assisted design method

Claude-generated HTML was the starting prototype, not the finished design.

I used Claude to rapidly create the initial HTML interface basis. I then refined the information architecture, hierarchy, field behavior, system states, safeguards, edge cases, and acceptance criteria with the team before development.

  1. 01Requirements and data model
  2. 02Claude HTML prototype
  3. 03UX critique and iteration
  4. 04Engineering-ready behavior

02 Computation Engine

Configuration becomes money.

The engine reads the structured admin data, determines whether a stay qualifies, selects the benefit, calculates its value, and returns one normalized result to every consumer.

InputPromotion rules

Dates, scope, benefit, priority

EvaluateEligibility

10 ordered, named checks

ComputeRealized value

Runs, selection, stacking

OutputOne price result

PHP and Go stay aligned

Exploration prototype

Stay 7, get 1 free

Used to test the rule before engineering committed to an implementation.

1234567free891011121314free
Computed result2 free nights

Each complete seven-night run earns the benefit.

01

Qualifying runs

A blackout or out-of-window night breaks the run. Benefits are awarded within each valid run.

02

Specific night selection

Cheapest, first, or last night determines the actual dollar value, with earliest date breaking ties.

03

Conflicts and guardrails

Promotion type controls stacking. Savings above 30% create a warning without blocking the quote.

03 Guest Experience

The computed result becomes understandable.

The release distinguishes an available offer from an applied benefit, shows the realized savings inside pricing, and keeps the same post-promotion total through inquiry.

Verified release screen
Released accommodation pricing summary with a promotion line item and updated totals
Savings inside the pricing summaryThe promotion name and realized value explain exactly why the total changed.
Verified release screen
Released villa page banner confirming one promotion is applied
Applied stateThe guest knows the current dates qualify.
Verified release screen
Released exclusive offer card with benefit label and terms
Offer detailMarketing content stays connected to the same structured record.

01Available is not appliedThe interface communicates whether an offer exists or has actually changed the price.

02One post-promo totalVilla pricing, booking amount, inquiry subtotal, and grand total all agree.

03Progressive disclosureFees and taxes stay scannable while full itemization remains one click away.

AI Throughout the project

AI accelerated the loops. I owned the decisions.

AI was embedded across discovery, interface prototyping, logic testing, and specification review. Each output was treated as material to verify, critique, and improve.

01

Discovery

Classified 40 legacy offers

Evidence → product taxonomy
02

Interface design

Generated the first admin HTML

Requirements → working prototype
03

Logic design

Exercised rules with realistic stays

Ambiguity → testable behavior
04

Quality

Compared interlocking specifications

Contradiction → verified finding

Human-owned decisions

AI did not choose valuation policy, stacking rules, readiness requirements, the 30% guardrail, release scope, or accepted limitations. I made those product calls with stakeholders and verified the evidence behind them.

Outcome

A released system, not a collection of screens.

The July 2026 launch connected operations, pricing logic, and guest communication through one promotion model across six brands.

6brand sites received promotion-aware pricing
7,267villas supported by the platform model
372suppliers represented in promotion scope

What I brought to the team

System definition, interface craft, and enough technical depth to make the product promise testable.

I moved between operational workflows, computation rules, front-end communication, and engineering criteria without losing the user's mental model.