Multi-brand shared-platform pattern on the M.L. Campbell estate

Christopher Ross

4 min read

WordPress & CMS engineering · Fort Erie, Ontario

Multi-brand shared-platform pattern on the M.L. Campbell estate: Development

Sayerlack® is M.L. Campbell®’s sister brand. Same parent company (Sherwin-Williams® Industrial Wood Coatings), same distributor-channel job, same finishers and shop owners trying to find a technical data sheet at 7am before the spray booth fires up. Different brand though: European heritage, waterborne-forward chemistry, a product taxonomy that organizes around finishing systems rather than a North American stain-and-topcoat habit. The brief was straightforward to say out loud and harder to actually ship: build Sayerlack so it feels like itself, not like MLC wearing a different jacket.

The decision I made early was to run both brands off one platform instead of two separate codebases. Two codebases would have doubled the maintenance surface for a team that did not want to maintain anything twice. One platform with brand-isolated theming gave me a single place to fix bugs, ship template improvements, and update the distributor locator, and gave each brand the room to look and read like itself.

What’s shared, what’s brand-isolated

Shared: the template skeleton, the distributor locator, the PDS/SDS/EDS download matrix, the search and category architecture, the deploy pipeline. Brand-isolated: palette, typography, the product taxonomy itself, the way categories are named and ordered, the tone of the supporting copy. Sayerlack’s left-sidebar category list reads as a finishing system: Stains, Primers, Sealers, Topcoats, Catalysts, Thinners, Adhesives, because that is how a Sayerlack-trained finisher reaches for a product. MLC’s IA reaches the same destinations by a different path because MLC’s customers think differently. Same engine underneath; different mental model on top.

Sayerlack and M.L. Campbell, side by side A three-column comparison table. The left column lists four dimensions the post contrasts: Heritage, Coating chemistry, Product taxonomy, and Category sidebar. The middle column gives Sayerlack’s values and the right column gives M.L. Campbell’s. Sayerlack is European and waterborne-forward, grouped by finishing system; M.L. Campbell is North American and stain-and-topcoat, grouped by a North American workflow. The Product taxonomy row is marked in copper as the key differentiator, the layer that keeps each brand feeling like itself even though both run on one shared platform. ONE PLATFORM, TWO BRANDS Sayerlack and M.L. Campbell, side by side Same engine underneath. The product taxonomy is where each brand stays itself. Compared on Sayerlack M.L. Campbell Heritage European North American Coating chemistry Waterborne-forward Stain-and-topcoat Product taxonomy Grouped by finishing system Grouped by N.A. workflow Category sidebar Stains, Primers, Sealers, Topcoats, Catalysts, Thinners, Adhesives Same destinations, reached a different way Copper marks the layer that makes each brand feel like itself.
I mapped the two brands against the dimensions that actually differ, so you can see the product taxonomy is the layer each one keeps for itself while everything underneath stays shared.
Sayerlack Sealers category page showing the finish-system sidebar and product card grid
Sayerlack Sealers category, sidebar reads as a finishing system, not a parts list.

The product detail template earns its keep

The product detail template is the load-bearing pattern across both brands. Can shot on the left, performance bullets, the PDS/SDS/EDS download matrix, distributor CTA. Render it with MLC’s brand tokens and you get the Arroyo page. Render it with Sayerlack’s tokens and product data and you get the Waterborne Clear Basecoat page below. A distributor rep moving between the two sites in a single afternoon does not have to learn two interfaces; the muscle memory transfers. Each brand still gets its own visual identity because the brand tokens, colour, type, the full spacing and component scale, are isolated cleanly from the markup.

Sayerlack Waterborne Clear Basecoat product detail page with performance bullets and download matrix
Same template skeleton as Arroyo on the MLC site; different brand, different chemistry, same job done well.

The interesting savings showed up months later. When the parent group asked for a change to how downloads were tracked, I shipped it once and both brands got it. When a security update hit the distributor locator, same story. The cost of running brand number two stops being “a whole second site” and starts being “a theme, a taxonomy, and the product data.”

Where this pattern transfers

Any organization running more than one brand on shared infrastructure has a version of this problem. Franchises with regional identities. Hospitality groups with a portfolio of property brands. Multi-tenant SaaS that wants each tenant to feel bespoke. Parent companies with sub-brands that need their own voice without their own engineering team. The work is figuring out which layer of the stack each brand owns and which layer the platform owns, and then holding that line as the product roadmap pulls at it.

Working through something on your own site? Get in touch →