Two premium spirits brands (craft gin & single malt) · VISEO Asia engagement
Two Premium Spirits Brands, One Section Library
Two custom Shopify builds for two distinct premium brands, on a timeline that didn't allow solving the same layout problem twice from zero.
Context
Two premium spirits brands, a craft gin and a single malt whisky, built during my time at VISEO Asia. Each needed a custom theme built from scratch off a real design handoff, not a bought template with a new logo dropped in.
The problem
Two custom builds for two related but visually distinct premium brands, on a timeline that didn’t allow for solving the same layout problem twice starting from zero each time.
The constraint
Each brand needed to feel genuinely custom and brand-first, not like a reskin of the other. A whisky brand’s storytelling and a gin brand’s storytelling don’t share a voice. But the builds still had to leave something a small team could maintain going forward without doubling their workload every time either site needed a change.
The approach
I built both on Shopify 2.0’s section and snippet architecture, treating layout patterns, not full pages, as the reusable unit. Common structural pieces (hero patterns, product storytelling blocks, a minimal cart flow) were built once as configurable sections. Brand-specific art direction and copy were layered on top per site through section settings, not duplicated markup.
The alternative I rejected was building each theme as a fully bespoke one-off. It would have hit the design brief fine for the first brand and cost roughly the same effort again for the second, with no shared maintenance benefit afterward and two codebases to keep in sync by hand.
The result
Two brand-first, conversion-focused themes shipped from a shared section library, each with its own identity, neither reading as a reskin of the other.
What I’d do differently
I’d extract the shared section library into its own versioned base before starting the second brand, rather than during it. Retrofitting shared structure onto a theme that’s already mid-build is more careful, more error-prone work than doing it up front.