Context
Nimue is a professional skincare brand. That word — professional — is the whole engineering problem.
Flume Digital Agency had designed a store that needed to serve a member of the public trying to work out what their skin actually needs, and a qualified skincare therapist ordering stock for a clinic. Same store. Different products, different pricing, different language, different legal position.
I was contracted by Flume as lead developer to build it.
The problem
Nimue’s catalogue isn’t organised the way shops usually are. Products are indexed against skin classification — environmentally damaged, hyperpigmented — and separately against skin type and concern: acne and breakouts, dryness and dehydration, sensitivity and redness. A customer arrives knowing their problem, not the product name.
So the store had to work backwards from a self-assessment to a recommendation, and that recommendation had to stay correct as the catalogue changed. Hard-coding the mapping was not an option; the brand’s product team needed to own it.
On top of that sat the professional side: stockist applications, gated ordering, and a body of clinical content that must never be visible to a consumer.
What I did
The whole thing is a custom template. No premium theme, no page builder — because a page builder would have made the classification logic somebody’s problem to reverse-engineer in three years, and because Flume’s design was specific enough that fighting a theme’s opinions would have cost more than writing the markup.
The classification system is data, not code. Skin types, concerns and classifications are taxonomies; products carry the relationships; the finder queries them. The product team adds a concern in the admin and it appears in the journey, correctly filtered, with no deployment.
Access control runs on capability, not on a plugin’s idea of a membership tier. A professional account unlocks trade pricing, the clinical library and the ordering flow, and the consumer store simply never renders those templates — rather than rendering and hiding them, which is how most WooCommerce builds leak trade pricing.
Refill products were the late addition, and the taxonomy approach absorbed them without a schema change.
The result
A store that does the diagnosis before it does the sale, and a professional portal that shares one codebase with the consumer site without ever bleeding into it.
Every pixel of Flume’s approved design was delivered as designed. The build has since taken new product lines, the refillable range and a full merchandising rethink without needing structural work — which is what “no page builder” actually buys you.
