Get a quote
E-commerce Supported and updated

Kokudankokuya — A fragrance store priced by bottle size

One scent stays a single product record and each bottle size is a separate sellable unit, priced and stocked on its own, so a new size is not a new product. Fragrance family and notes run alongside the category tree, for shoppers who arrive without a brand name in mind.

Visit the site →
Category E-commerce
Client Kokudankokuya · Fragrance retail
Services E-Commerce, Web Software, CMS
Year 2021
Status Supported and updated
Role Design & development Built together with: Özcan Teknoloji Yazılım Destek Danışmanlık

The context

Kokudankokuya sells perfume, and a perfume catalogue does not fit the standard ecommerce product shape. One scent sells in several bottle sizes. A shopper decides without smelling anything, and a good share of the basket is bought as a gift rather than for the buyer.

That set the problem: split the sizes into separate products and the catalogue fills with repeats; merge them into one and per-size stock and pricing disappear. We drew the variant line at bottle size, the one place that keeps per-size stock and pricing without filling the catalogue with repeats.

How we work on every project

Planning

We go through how the work runs today and what you expect from the software; the scope comes out of that.

Architecture

We decide what the system is made of and where its information is kept.

Modelling

We draw the screens and the flow before any code, and start building once you have approved them.

Development

We write and hand over the software so another team could carry it on.

See our process →

What we built

  • Variants drawn at bottle size

    One scent is a single product record; each bottle size is a separate sellable unit carrying its own price and its own stock.

  • Fragrance family as a second axis

    Family and notes sit next to the category tree, so a shopper can start from how a scent behaves rather than from who made it.

  • One perfume, several notes

    A perfume attaches to more than one note, so the same product surfaces from different search intents instead of sitting in a single branch.

  • A two-part stack

    The catalogue's scale did not call for a separate search or cache layer, so the store runs on Laravel and MySQL alone.

How we built it

  • Laravel
  • MySQL

Challenge and result

Each row is a pair: the challenge the work had to solve on the left, and how the system answers it on the right.
Challenge Result
The same scent sells in several bottle sizes, and listing each size as its own product fills the catalogue with repeats The scent stays one record, and adding a bottle size does not mean opening a new product
Folding the sizes into one product loses stock and price tracking per size Price and stock are tracked per size, so it is clear how many of which bottle are left
Shoppers often arrive with no brand name in mind; what they are after is the character of a scent A shopper can browse by fragrance family instead of by brand
Nobody can smell anything before buying, so the words describing a scent have to carry the choice One perfume linked to several notes turns up in different searches

Want a system built like this?

Tell us how the work runs today and we will look at which step could move into software.