Three buyers, one catalogue, and no single grid that serves them
A lighting catalogue is not a fashion catalogue. The same shopper may arrive knowing exactly what they need — a GU10 spotlight, 6W, 2700K, dimmable — or knowing only that their garden is dark. One wants a specification; the other wants a recommendation.
Meanwhile a contractor is not shopping at all. They have a list of forty line items and want a price against it.
A single product grid cannot serve all three. Everything in this build — the dual-axis navigation, the shop-by-space routes, the brand pages, the trade quote tool — exists to give each of those three buyers their own path to the same catalogue.
The navigation is the most heavily engineered part of this storefront, because it is where the three-audience problem gets solved.
Structure before interface: a five-department model over 1,467 products
Nothing else in the build works if the catalogue underneath it is not organised. Before a single template was written, the entire product set was restructured into a taxonomy that could drive navigation, filtering, merchandising and search from the same data.
Every product carries a vendor and a product type. Those two fields do a great deal of work: 40 brands and 29 product types drive the storefront filters, populate the brand pages, and let collections be defined by rule rather than maintained by hand.
Hand-curated collections rot. Every new product needs adding to every relevant list, and the day someone forgets, the catalogue quietly starts lying. Structuring the data properly means a new SKU appears everywhere it belongs the moment it is created.
The five departments
| Department | Subcategories | Example collections |
|---|---|---|
| Smart Home | 5 + department page | Smart Bulbs, LED & RGB Strips, Smart Switches, Sensors |
| Bulbs & Tubes | 5 + department page | LED Bulbs (E27/E14), Specialty, LED Tubes (T8), Grow Lights |
| Indoor Fixtures | 5 + department page | Downlights & Spots, Ceiling Panels, Wall & Pendant |
| Solar & Outdoor | 5 + department page | Solar Lights, Flood & Street, Outdoor Wall, Sensor |
| Fans & Electrical | 5 + department page | Ceiling Fans, Exhaust, Ballasts & Drivers, Switches |
Plus Deals and Shop All as standalone routes — 33 collections wired into the navigation in total.
A dual-axis mega-menu: shop by type, or shop by brand
Open any of the five departments and the menu presents two parallel routes side by side. Shop by Type lists the five subcategories. Shop by Brand lists the five brands that matter most in that department, plus a link to the full brand index. Both routes lead to the same catalogue by different logic.
A homeowner replacing a bulb thinks in categories — they want LED bulbs. A trade buyer or a brand-loyal customer thinks in manufacturers — they want Osram, or they want KDK because that is what the specification says. Forcing either to browse the other’s way adds a step, and steps are where carts are lost.
- Faceted filteringAvailability, price, brand and product type on every collection, with live result counts and a clear-all control — 1,467 products down to a working shortlist in two clicks.
- Eight-way sortingFeatured, most relevant, best selling, alphabetical, price and date in both directions — with the default tuned per collection rather than applied globally.
- A third, merchandising panelEach department menu carries its own message and call to action — Life in Light, Daily Essentials, Fit-out Ready, Villa & Garden, Trade & Project. The navigation sells as well as directs.
A B2B channel inside a B2C storefront
Lighting Souq supplies contractors, hotels, hospitality venues and facilities teams as well as households. Those buyers do not add forty line items to a cart one at a time — they send a list and expect a price. So I built them their own channel.
A dedicated request drawer lets a trade buyer search the live catalogue, add multiple products with quantities against each, and keep adding lines until the list is complete — then submit it with their name, work email, phone, company website and any notes, or continue the same conversation on WhatsApp.
No standard Shopify theme ships a multi-product quote builder that reads the live catalogue. It is a bespoke Liquid and JavaScript build, reachable from the main navigation, from a dedicated bulk orders page, and from a closing banner on the homepage.
Without it, every trade order arrives as an unstructured phone call that somebody has to transcribe before it can be quoted. With it, the enquiry arrives structured, itemised and ready to price.
Why Shopify here — and where it would have been the wrong answer
For a catalogue-heavy international retailer, the case is straightforward: Shopify carries the commerce infrastructure so that engineering time goes into the storefront rather than into rebuilding checkout, hosting and payment compliance from scratch.
Where it does not win: complex multi-storefront architectures, or businesses with dedicated frontend engineering teams, can outgrow the standard theme model and are better served headless. That was not this business, and building it that way would have added cost and fragility for no return.
Platform capability, and how it was used on this build
| Capability | How it was used |
|---|---|
| Liquid theme layer | Full pixel-level control. The mega-menu, category tiles and trade quote drawer are custom Liquid, not theme settings. |
| Online Store 2.0 sections | A section-based homepage the client can reorder and re-merchandise without a developer. |
| Native faceted filtering | Filtering across 1,467 products served by the platform rather than a paid filter app. |
| Product taxonomy & vendors | 40 brands and 29 types powering filters, brand pages and collection logic from one source of truth. |
| Hosted checkout & wallets | PCI-compliant checkout with cards, Apple Pay, Google Pay and cash on delivery — maintained by Shopify. |
| Markets & multi-currency | Cross-border infrastructure for a retailer shipping to more than 40 countries. |
A documented SOP, not an improvised project
The speed below comes from the process being solved in advance, not from work being skipped. The sitemap and mockup were produced and presented on the onboarding call, before any money changed hands — so the client saw the real structure and design of the store they were commissioning.
The previous platform offered no catalogue export of any kind. I wrote a page-script routine that walked its admin and wrote every record out to CSV, meta fields intact. Over 2,000 products were extracted in two to three hours; development began the next day.
Stage by stage
| Stage | What happened | Time |
|---|---|---|
| Pre-sale | Discovery call, then a full sitemap and mockup presented before signature | — |
| Catalogue engineering | Complete product and customer dataset extracted by custom script, meta intact | 2–3 hours |
| Development | Custom Shopify theme built to the approved mockup, full catalogue loaded | 2–3 days |
| Content & SEO | Product content and every core site page written and optimised | 1 day |
| Upload & QA | Content loaded, checked and published | 2 days |
| Delivered | A live, fully custom storefront carrying a 1,467-product catalogue | Under a week |
