Avnzor

Avnzor

Two-phase engagement: a no-code-friendly Shopify Plus theme rebuilt into a fully accessible, bilingual Hydrogen storefront for a 1,300-order/month GCC health & beauty brand.

Two-phase engagement: a no-code-friendly Shopify Plus theme rebuilt into a fully accessible, bilingual Hydrogen storefront for a 1,300-order/month GCC health & beauty brand.

Two-phase engagement: a no-code-friendly Shopify Plus theme rebuilt into a fully accessible, bilingual Hydrogen storefront for a 1,300-order/month GCC health & beauty brand.

Shopify Plus
Liquid
Metaobjects
Klaviyo → Hydrogen
Remix
Algolia
Clerk
Vercel
Tailwind
TypeScript

Built Avnzor's entire e-commerce platform across two phases — first a Shopify Plus custom theme that let the buying team ship campaigns and new surfaces without engineering, then a Shopify Hydrogen headless rebuild achieving WCAG 2.1 AA compliance (34 issues resolved), a full Arabic/RTL experience with zero inline font overrides, a structured design token system from primitive to component layer, and live Algolia-powered search and recommendations in both English and Arabic.

Industry

Shopify Plus · Health & wellness · GCC market

Stack

Shopify Plus · Liquid · Metaobjects · Klaviyo → Hydrogen · Remix · Algolia · Clerk · Vercel · Tailwind · TypeScript

The Problem

Avnzor is a fast-moving health and beauty brand with 1,300+ monthly orders across skincare, haircare, and supplements. In Phase 1, the problem was operational: the team was dependent on a developer for every campaign update, every new product surface, every merchandising change. The storefront was a black box. Nothing could be changed without code.

Phase 1 solved that. But as the brand scaled, the Shopify Plus theme hit a new ceiling. There was no component model, no design token system, no Arabic-first layout logic, and no accessibility. The product roadmap — a personalized wellness quiz, lab-upload-driven bundles, subscription logic, a bilingual experience that felt native in Arabic — required capabilities the theme architecture could never support. The only real answer was a clean rebuild on Hydrogen.

The challenge in Phase 2 wasn't just technical migration. It was doing it while keeping a 1,300-order/month store running, maintaining Algolia search continuity, and ensuring the new stack passed accessibility audits the old theme had never attempted.


Built Avnzor's entire e-commerce platform across two phases — first a Shopify Plus custom theme that let the buying team ship campaigns and new surfaces without engineering, then a Shopify Hydrogen headless rebuild achieving WCAG 2.1 AA compliance (34 issues resolved), a full Arabic/RTL experience with zero inline font overrides, a structured design token system from primitive to component layer, and live Algolia-powered search and recommendations in both English and Arabic.

How I Framed It

Phase 1 was about merchandising independence. I built the theme as a kit of primitives — content blocks the team could compose without code, backed by metaobjects that held the brand's product, ingredient, and routine data in structured form. The design system encoded the editorial standards so the team couldn't accidentally drift off-brand even when iterating quickly. Klaviyo was integrated for lifecycle flows. The result: the buying team could ship campaigns and new product surfaces on their own.

Phase 2 was about architectural independence. Three parallel tracks had to move in concert: the semantic foundation (ARIA, keyboard navigation, RTL), the design system (tokens from primitive hex values up to component-level semantics), and the integration layer (Algolia for search and recommendations, Clerk for auth, Vercel for deployment and QA annotation). Getting the font stack right — Archivo for Latin, Almarai for Arabic — unlocked RTL rendering across the entire storefront with no inline overrides. Getting the token architecture right (primitive → semantic → component) meant dark mode, RTL, and future theme variations could all be driven from one source of truth.

The guiding principle across both phases: the storefront is infrastructure, not a skin. Every decision was made for replaceability and long-term team ownership.


Key Decisions

Phase 1: Theme as a kit of merchandising primitives

Context: Avnzor's team was small and non-technical. Every storefront change required a developer. Campaigns were slow, seasonal updates were stressful, and the team had no visibility into what they could change without breaking something.

Choice: Section-based theme with metaobjects as the data layer. Metaobjects stored the brand's ingredient data, routine tags, and product relationships in structured form — separate from the templates. Content blocks were designed as configurable Shopify blocks so the team could compose new product surfaces from existing primitives without touching code.

Trade-off: Higher upfront build complexity. Every section needed to be designed as a system component, not a one-off layout.

Phase 2: Hydrogen over a headless theme upgrade

Context: Shopify offers headless options at different levels — a customized theme with headless-adjacent patterns, or a full Hydrogen (Remix) app.

Choice: Custom Hydrogen app. Avnzor's roadmap — quiz-driven personalization, lab upload, subscription bundles, bilingual — required full control over routing, data fetching, and component architecture. No theme could accommodate that without accumulating technical debt faster than value.

Trade-off: Significantly longer initial build time and no out-of-the-box theme editor. Every component had to be designed and built from scratch.

Token-first design system over component-first

Context: Starting with components shows faster visible progress. Starting with a token hierarchy creates a multiplier for everything built after.

Choice: Token hierarchy first. Primitive tokens (navy-500, gold-500) → semantic tokens (text-foreground, bg-muted, text-accent) → component usage. Button, Checkbox, and Dialog primitives all consume the same token set — making RTL and dark mode a config change, not a refactor.

Trade-off: Slower visible progress in the first two weeks. Framed clearly to the client as investment, not delay.

WCAG 2.1 AA as a release gate, not a post-launch task

Context: Accessibility audits are typically scheduled post-launch. For a storefront targeting GCC markets with assistive technology users, that order felt backwards.

Choice: Hard gate per route. Full audit across home, collections, PDP, cart, search, sign-in, and CMS pages before any preview URL went out — 34 issues across four severity batches, all resolved first.

Trade-off: Added roughly two weeks to the initial delivery timeline. The alternative — retrofitting ARIA and keyboard navigation into production components — would have taken longer and been far more disruptive.

Algolia with bilingual indexing over Shopify native search

Context: Shopify's native search is English-first and has no recommendation layer. Avnzor's catalog spans 1,000+ Arabic-named SKUs.

Choice: Algolia with bilingual indexing and the Recommend API for Frequently Bought Together. The sync pipeline handles Arabic title correction and indexing patches for metafield data. The FBT component renders in the correct language client-side based on locale.

Trade-off: Ongoing Algolia operational cost and custom batch-translate scripts required to maintain Arabic index quality.


How I Framed It

Phase 1 was about merchandising independence. I built the theme as a kit of primitives — content blocks the team could compose without code, backed by metaobjects that held the brand's product, ingredient, and routine data in structured form. The design system encoded the editorial standards so the team couldn't accidentally drift off-brand even when iterating quickly. Klaviyo was integrated for lifecycle flows. The result: the buying team could ship campaigns and new product surfaces on their own.

Phase 2 was about architectural independence. Three parallel tracks had to move in concert: the semantic foundation (ARIA, keyboard navigation, RTL), the design system (tokens from primitive hex values up to component-level semantics), and the integration layer (Algolia for search and recommendations, Clerk for auth, Vercel for deployment and QA annotation). Getting the font stack right — Archivo for Latin, Almarai for Arabic — unlocked RTL rendering across the entire storefront with no inline overrides. Getting the token architecture right (primitive → semantic → component) meant dark mode, RTL, and future theme variations could all be driven from one source of truth.

The guiding principle across both phases: the storefront is infrastructure, not a skin. Every decision was made for replaceability and long-term team ownership.


Key Decisions

Phase 1: Theme as a kit of merchandising primitives

Context: Avnzor's team was small and non-technical. Every storefront change required a developer. Campaigns were slow, seasonal updates were stressful, and the team had no visibility into what they could change without breaking something.

Choice: Section-based theme with metaobjects as the data layer. Metaobjects stored the brand's ingredient data, routine tags, and product relationships in structured form — separate from the templates. Content blocks were designed as configurable Shopify blocks so the team could compose new product surfaces from existing primitives without touching code.

Trade-off: Higher upfront build complexity. Every section needed to be designed as a system component, not a one-off layout.

Phase 2: Hydrogen over a headless theme upgrade

Context: Shopify offers headless options at different levels — a customized theme with headless-adjacent patterns, or a full Hydrogen (Remix) app.

Choice: Custom Hydrogen app. Avnzor's roadmap — quiz-driven personalization, lab upload, subscription bundles, bilingual — required full control over routing, data fetching, and component architecture. No theme could accommodate that without accumulating technical debt faster than value.

Trade-off: Significantly longer initial build time and no out-of-the-box theme editor. Every component had to be designed and built from scratch.

Token-first design system over component-first

Context: Starting with components shows faster visible progress. Starting with a token hierarchy creates a multiplier for everything built after.

Choice: Token hierarchy first. Primitive tokens (navy-500, gold-500) → semantic tokens (text-foreground, bg-muted, text-accent) → component usage. Button, Checkbox, and Dialog primitives all consume the same token set — making RTL and dark mode a config change, not a refactor.

Trade-off: Slower visible progress in the first two weeks. Framed clearly to the client as investment, not delay.

WCAG 2.1 AA as a release gate, not a post-launch task

Context: Accessibility audits are typically scheduled post-launch. For a storefront targeting GCC markets with assistive technology users, that order felt backwards.

Choice: Hard gate per route. Full audit across home, collections, PDP, cart, search, sign-in, and CMS pages before any preview URL went out — 34 issues across four severity batches, all resolved first.

Trade-off: Added roughly two weeks to the initial delivery timeline. The alternative — retrofitting ARIA and keyboard navigation into production components — would have taken longer and been far more disruptive.

Algolia with bilingual indexing over Shopify native search

Context: Shopify's native search is English-first and has no recommendation layer. Avnzor's catalog spans 1,000+ Arabic-named SKUs.

Choice: Algolia with bilingual indexing and the Recommend API for Frequently Bought Together. The sync pipeline handles Arabic title correction and indexing patches for metafield data. The FBT component renders in the correct language client-side based on locale.

Trade-off: Ongoing Algolia operational cost and custom batch-translate scripts required to maintain Arabic index quality.


Avnzor merchandising primitives — a fixed kit composed into every surfaceAvnzor token architecture — primitive, semantic, component layers

What Shipped

Phase 1 delivered a Shopify Plus storefront with a full section-based merchandising system: configurable content blocks, metaobject-backed product and ingredient data, Klaviyo lifecycle integration, and a design system that encoded the brand's editorial standards into the theme itself. The buying team could ship campaigns and new product surfaces without engineering involvement from day one.

Phase 2 delivered a production Hydrogen storefront on Vercel's edge network. Every route passes WCAG 2.1 AA — Homepage scores Accessibility 100, SEO 100 in Lighthouse; PDP scores Accessibility 96, SEO 100, CLS 0. The design system ships with a full token layer and extracted component primitives (Button, Checkbox, Dialog), all ready for dark mode and theme variation without class-level changes. Search is powered by Algolia in both English and Arabic. The PDP surfaces six custom metafields. The Frequently Bought Together component uses the Algolia Recommend API with bilingual product titles. Arabic renders via Almarai with zero inline overrides.


Result

Phase 1: Buying team ships campaigns and new product surfaces without engineering involvement. Conversion improved on redesigned product pages. The design system became the foundation for the brand's broader digital surface.

  • 34 — WCAG 2.1 AA issues resolved before staging

  • 19 — PDP UI/UX fixes in a single audit pass

  • 100 / 100 — Lighthouse · Homepage Accessibility / SEO

  • 96 / 100 / 0 — Lighthouse · PDP Accessibility / SEO / CLS

  • 16 + 17 — Stale git worktrees + orphaned branches removed

  • 202 — Shopify collections root-caused as unpublished to Hydrogen


Avnzor bilingual layout — one component set, English LTR and Arabic RTL
Avnzor PDP gallery, recommendations and AI product summary

What I'd Do Differently

I'd start the Arabic content audit — metafield coverage across the catalog — in parallel with the Phase 2 build, not after. By the time Arabic routing was ready, a significant portion of SKUs still lacked Arabic titles and descriptions. Clean data before the feature ships is always cheaper than cleaning in response to it. I'd also build the Phase 1 metaobject schema with the eventual Hydrogen migration in mind — the structured data was directionally right but needed reshaping for the Storefront API patterns Hydrogen uses.


What's Next

The personalization layer is in planning: a quiz-driven onboarding flow mapping health goals, diet patterns, and optional lab uploads to a curated product bundle — Avnzor's answer to what Superpower and Healf have built in the US and UK, adapted natively for the GCC market with halal certification, Arabic-first UX, and regional payment options (Tabby, Tamara).

What I'd Do Differently

I'd start the Arabic content audit — metafield coverage across the catalog — in parallel with the Phase 2 build, not after. By the time Arabic routing was ready, a significant portion of SKUs still lacked Arabic titles and descriptions. Clean data before the feature ships is always cheaper than cleaning in response to it. I'd also build the Phase 1 metaobject schema with the eventual Hydrogen migration in mind — the structured data was directionally right but needed reshaping for the Storefront API patterns Hydrogen uses.


What's Next

The personalization layer is in planning: a quiz-driven onboarding flow mapping health goals, diet patterns, and optional lab uploads to a curated product bundle — Avnzor's answer to what Superpower and Healf have built in the US and UK, adapted natively for the GCC market with halal certification, Arabic-first UX, and regional payment options (Tabby, Tamara).

Avnzor PDP anatomy — engineering component kit vs merchandiser-editable metafield contentAvnzor data flow — Shopify as the source of truthAvnzor accessibility release gate — WCAG 2.1 AA cleared before any preview URL

More Projects

Creating Since 2010

I’m currently available for new work. Let me know if you need a digital designer. I’d love to talk about the next big thing!

© Molham.Works 2025