Luciana: A fashion house, online and in store
I designed and built Luciana's store for a Lagos fashion house: the shop, the checkout, an AI try-on, and the till their staff use in the boutique. One product catalogue and one order system serve all of it.
The clothes are the point, so the interface stays out of their way: a serif, generous white space, and square-cornered buttons. The site reads like a magazine, with the collection as the pictures.
AI try-on: when the button appears
- 1Site switch on
- 2Product marked eligible
- 3A flat garment photo set
Try It On shows only when all three are true. Staff pick the garment photo in the admin, so try-on is switched on per product, by the people who know which pieces it suits. Single dresses are on. Two-piece sets are off, because the model handles one garment at a time.
One order system: online and in store
- OnlineBasket, checkout, delivery or pickup
- In storeTill, staff shift, split payment
- BothSame order, same stock, same history
A sale at the till is an order like any other, marked as made in store. That one decision means stock, reports and a customer's history work the same whichever way they bought.
Selected screens: from the campaign to the checkout
The store in use: two recordings
Decisions I took
I built Luciana's store end to end: the storefront, the checkout, the admin, the till and the database behind them. Above is the live store on the desktop, followed by the decisions that shaped it and what each one cost.
-
Make an in-store sale an ordinary order
Why A till sale is an order with a channel of 'in store'. Stock, reports and customer history needed no second system, and the staff app reuses the same code as the checkout.
Cost Some fields only make sense for one channel, so both sides carry a few blanks.
-
Gate the try-on three ways, and hand the switch to staff
Why Try-on shows only when the feature is on, the product is marked eligible, and a flat garment photo is set. Staff choose that photo in the admin, so the pieces that work well are the ones that get it.
Cost A product needs an extra photo before the button appears, which is one more step in listing it.
-
Let the basket update on screen first
Why The basket is kept in the browser and written to the account in the background, then merged when a shopper signs in. Adding a piece feels instant, and a basket survives a sign-in.
Cost Two copies of the same basket, and rules for which one wins when they disagree.
-
Anchor every price in naira
Why Prices are stored in naira and shown in other currencies from a weekly rate. The store sells in Lagos first, and the books are kept in one currency.
Cost A shopper abroad sees a converted price that can move week to week.
-
Load tracking only after consent
Why The advertising pixel loads once a shopper accepts cookies, and then follows the whole path from viewing to buying. The full funnel is measured for the people who agreed to it.
Cost Nothing is known about visitors who decline, which is the point.