Back to work

Live for a client

Citrus Aura

A live e-commerce store for a South African wellness brand. It carries a full product catalogue with an individual page per product, organised into categories, plus a working cart and checkout priced in Rands.

01 Problem

A wellness brand sells products people put on and in their bodies, so the buyer needs answers a template store never asks for: what is in this, how do I use it, what size am I actually buying, when does it expire, and who should not use it. Without that on the page, the buyer either guesses or does not buy.

02 Approach

A premium minimalist store built around the product page rather than the landing page. Every product gets its own page inside a category structure, and the detail that decides a purchase is treated as primary content instead of being folded away at the bottom.

03 Architecture

React and Next.js with Tailwind, deployed on Netlify. The catalogue is organised into categories with an individual page per product carrying ingredients, usage, sizing and expiry, plus product warnings where they apply. The cart totals in Rands against a free delivery threshold, and completing checkout routes the order straight to the brand.

  • Full catalogue with one page per product, organised into categories
  • Cart and checkout priced in Rands, with a free delivery threshold
  • Product detail covering ingredients, usage, sizing and expiry
  • Product warnings shown where they apply
  • Orders routed automatically to the brand once checkout completes
The Citrus Aura home page, with Bath and Body and Teas and Herbs category panels above a row of bestselling products
The Citrus Aura shop page, filtering the full range by category with each product priced in Rands
A Citrus Aura product page showing the price, size and best before date, a suitability warning, and expandable sections covering ingredients, how to use, and size and details
The Citrus Aura cart drawer, showing quantity, a Rand subtotal, how much more is needed for free delivery, and the checkout button

04 A decision I am proud of

Taking the buyer all the way to a priced cart and a checkout, then routing the order to the brand instead of pulling in a full commerce backend to settle payment on site. The buyer still sees the real total in Rands before committing, and that is the part that decides the sale. At this volume, a payment integration would add a monthly cost and put payment and customer data inside a service nobody is maintaining. This is the honest fit for where the brand is now, and it can be replaced once the volume justifies it.

05 Outcome

A live store for the client brand: the full catalogue is up, the product pages carry the detail buyers actually ask about, the cart totals in Rands, and orders reach the brand once checkout completes.