This week's highlights: a multi-tenant reviews platform for a luxury skincare and devices group
TLDR: A multi-tenant reviews platform for a luxury skincare and devices group, a multi-year demand forecasting suite inside our internal merchandising platform, a gift-with-purchase campaign across three surfaces for a premium hair wellness brand, and a substantial new layer of mailbox-aware functionality on a luxury fragrance house's customer services platform.
Two weeks have a way of looking, in hindsight, like a few small jobs and a lot of polishing. Then you open the commit logs and discover the team has quietly built a multi-brand reviews platform, taught an internal forecasting tool to predict demand five years deep, run a gift-with-purchase campaign across three surfaces in two currencies, and rewired how a luxury fragrance house handles its customer service inbox. So, not quite a quiet fortnight.
What follows is the proper write-up. We try to keep the tone honest. If a thing was hard, we say it was hard. If a thing turned out elegant in the end, we say that too.
Here is the round-up, in roughly the order that felt right rather than the order things went live.
This week's highlights: a multi-tenant reviews platform for a luxury skincare and devices group
The headline build of the fortnight was a complete reviews platform for a luxury skincare and devices group. The kind of business that owns several brands under one parent. The brief was straightforward in description and very much not in execution. One codebase, several storefronts, brand-specific email templates, brand-specific product catalogues, and a review widget that inherits each theme's colour and type properly rather than fighting it.
The platform now does the things you would expect a modern reviews tool to do, with a few details we are quietly proud of. Customers can upload photos and short videos with their review, which then appear on the product page as a horizontal-scroll UGC strip with a stories-style lightbox over the top. Beyond customer uploads, the same surface can curate brand-supplied imagery, video uploads, Instagram posts and reels, and YouTube embeds, all in the same tile language. We added drag-and-drop reorder for the per-product media library, so the merchandising team can sequence what shows up first without raising a developer ticket. There is a second reminder email for customers who did not respond to the first nudge, an editor toggle to preview both reminders side by side, and the customer journey itself can be previewed end to end in a single admin page.
The multi-tenant side is where the work got genuinely interesting. Templates resolve by Shopify storefront, so each brand can have its own padding, palette and copy without forking the codebase. The fan-out logic is scoped per storefront end to end, which means we can add another brand to the platform by configuration rather than by deployment. We also moved the widget styling into a dedicated asset file, so the per-product schema stays well under Shopify's per-file size budget even on the most heavily customised brands.
Alongside the reviews build, the same group's VIP store gained a customer management page with three tiers, including a new 40 percent tier, pagination at fifty rows per page, and a search that filters as you type so it stays responsive at scale. The group's professional storefront also gained multi-select specialism filtering on its clinic and retailer directory. Skincare professionals tend to search for multiple capabilities at once, for example a clinic that offers chemical peels and another that handles post-procedure recovery, and they want them in the same result set. The default specialism list was trimmed to the ones that actually convert. The group's skin consultation tool had its age question taxonomy modernised. Their flagship theme had a substantial set of updates rolled in.
The pattern across all of this was the same. Build the surface so it looks bespoke to each brand, but keep the engine shared and boring underneath. That is usually how this kind of work pays for itself.
Under the hood: a multi-year trend forecast suite for our internal merchandising platform
The technical deep dive this fortnight is internal. Our merchandising platform is the in-house toolkit we use across our own work and selectively expose to clients. Over the past two weeks it gained an entirely new Trend Forecast suite, a redesigned Sell-Through Report, and a Collection Merchandising utility. Forty-seven commits is a lot of moving pieces, so worth a paragraph or two to explain why we did it and what changed.
The problem we wanted to solve was unglamorous but expensive. Merchandising decisions in fashion and accessories tend to lean on intuition plus last season's spreadsheet, and the spreadsheet is almost always too narrow a view. You need to see colour velocity within a style, style velocity within a category, and both against a multi-year baseline rather than a single trailing quarter. The new Trend Forecast suite runs multi-year demand graphs with a Holt-Winters forecast on top, broken down by colour, style or product variant, and produces a buy plan with a written narrative explaining what changed and why. We backfilled five years of direct-to-consumer order history, which was its own small saga. The permission to read historical orders has to coexist with a resumable, chained backfill so we are not at the mercy of long-running job timeouts.
The Sell-Through Report got a parallel rework. Reports now roll up by product and colour, with Style as the product name, and there is a saved-views layer so a merchandiser can return to the slice they care about without rebuilding the filter. Filtered CSV exports, the Product plus Colour view toggle, a Style-only view with drill-down: all of it streams cleanly inside the embedded admin. On the background-job side, three new jobs landed. A daily incremental ingest for the trend data. A weekly forecast refresh. And a weekly sell-through generation that quietly emails the team rather than waiting for someone to remember to click Generate.
One detail worth noting. We redesigned the Collection Merchandising editor as a four-column storefront-style grid, with bulk-select and multi-pin from a flat variant explorer. The reason for the redesign is the one that matters most. Merchandising in Shopify admin defaults to a list, but merchandising in real life is a visual decision. Putting the editor in roughly the shape the customer will see saves the merchandiser from holding the storefront in their head while they sort. If you ever build an admin tool that mirrors a customer-facing layout, that small alignment between admin and storefront is, in our experience, where the productivity comes from.
Other work this fortnight
A premium hair wellness brand ran a gift-with-purchase campaign for a free Nourish and Stimulate Mask, live from 11 to 18 May. The work spanned three surfaces. The theme's cart drawer now drives the gift-with-purchase threshold logic through the same calculation the storefront uses elsewhere, so the gift behaves the same whether the basket nudges up or down past the qualifying spend. The toolkit picked up per-currency spend thresholds and now qualifies on either condition groups or thresholds rather than requiring both. The checkout-side extension recognises spend thresholds, so the offer behaves consistently in cart and at checkout. The product page banner picked up a small dose of restraint, with centred copy and a bold “Free”.
A luxury fragrance house had its customer services platform substantially upgraded. The headline new capability is that staff @mentioned in a thread now receive a full-context email through their mailbox, and when they reply, that reply is automatically routed back into the right thread as an internal note with a bell notification for the assignee. Replies now carry CC recipients and attachments. The original subject and any attachments come through on mention emails. A new mailbox sub-folder subscription processes each inbound message exactly once, even on the duplicate delivery attempts that mail providers sometimes make. Settings picked up an edit-and-confirm-delete flow for staff. The welcome discount admin extension now shows an email marketing timeline directly inside the block, so the team can see in one place what marketing has actually sent to that customer.
The quick wins
A speciality coffee brand gained a richer event feed back to its email marketing platform. The coffee-finder now sends the product handle and full URL through on each event, and falls back to a sensible default when a per-product override has not been set. On our own image converter, we landed a higher-quality WebP encode and a lossless toggle for the edge cases that need a perfect re-render. We also added a kill switch behind a feature flag for the data ingestion pipe, so we can pause it cleanly while running a migration.
Two weeks, several brands, one reviews platform that probably deserves its own post sometime soon. The forecasting work is the kind of thing we will keep iterating on for a while yet, and the gift-with-purchase pattern is now portable enough that we expect to roll it out for at least two more clients before summer. More next Tuesday.
Photo by Frederik Rosar on Unsplash.
Like what you've read?
Tell us about your project. A team member will reply within one business day.