Weaverse LogoWeaverse
All ArticlesPaul Phan
7 mins read

12 Headless Shopify Store Examples to Study in 2026

Most “headless examples” articles are just screenshots and hype. This one is for teams actually building in 2026: real storefront URLs to study what each brand does well what technical signal to measure what you can copy without overengineering Hea...
12 Headless Shopify Store Examples to Study in 2026

Most “headless examples” articles are just screenshots and hype.

This one is for teams actually building in 2026:

  • real storefront URLs to study
  • what each brand does well
  • what technical signal to measure
  • what you can copy without overengineering

Headless is no longer novelty architecture. For many growth brands, it’s now an operating model for faster iteration and tighter UX control.

2026 baseline before you evaluate examples

If a case study doesn’t align with this baseline, treat it as outdated:

  • Hydrogen 2026.1 patterns
  • React Router v7 app architecture
  • React 19 ecosystem
  • Shopify CLI 3.90+ workflows
  • Oxygen for Shopify-native deployment

What “good” headless execution looks like

A pretty homepage is not enough. Strong headless examples usually show:

  1. Fast PDP and collection performance under real traffic
  2. Stable, predictable merchandising workflows
  3. Clean mobile UX (not just desktop polish)
  4. Strong campaign velocity post-launch
  5. Reliable cart/checkout handoff

12 headless Shopify store examples to study

Note: For each example below, the “Key metric to track” is the operational metric your team should measure when implementing similar patterns.

1) Allbirds

Store: https://www.allbirds.com

Why study it: Allbirds remains one of the most referenced headless benchmarks because it balances product storytelling and conversion simplicity. The merchandising is clean, category navigation is straightforward, and product pages prioritize clarity over visual noise.

What to copy:

  • modular PDP storytelling blocks
  • high-trust product detail hierarchy
  • low-friction variant selection

Key metric to track:

  • Mobile PDP conversion rate after content block changes.

Representative visual inspired by Allbirds-style storefront

2) Chubbies

Store: https://www.chubbiesshorts.com

Why study it: Chubbies is useful for high-energy DTC merchandising: frequent campaign launches, promo-driven storytelling, and high-SKU product discoverability. It’s a strong case for teams that ship often and rely on seasonal drops.

What to copy:

  • campaign-first homepage architecture
  • collection templates optimized for rapid swaps
  • promo content layered without collapsing product clarity

Key metric to track:

  • Homepage-to-collection click-through rate during campaign windows.

Representative visual inspired by Chubbies-style storefront

3) Nour Hammour

Store: https://www.nourhammour.com

Why study it: A premium fashion example where editorial direction and commerce function coexist. The storefront experience stays brand-consistent while preserving transaction flow.

What to copy:

  • luxury storytelling without usability tradeoffs
  • consistent visual system across PDP, collection, and landing pages
  • high-quality media handling without obvious performance collapse

Key metric to track:

  • LCP on image-heavy PDP templates.

Representative visual inspired by Nour Hammour-style storefront

4) Denim Tears

Store: https://denimtears.com

Why study it: Culture-first merchandising with strong campaign energy. The brand narrative leads, but commerce still closes. Good reference for brands that operate at the intersection of drops, community, and storytelling.

What to copy:

  • launch-event merchandising structure
  • narrative-led product sequencing
  • strong campaign cohesion across key templates

Key metric to track:

  • Drop-day add-to-cart rate by traffic source.

Representative visual inspired by Denim Tears-style storefront

5) Atoms

Store: https://atoms.com

Why study it: Useful for personalization and product configuration patterns. The brand experience leans into decision support and variant clarity.

What to copy:

  • configurable product UX with clean option hierarchy
  • guided selection patterns that reduce choice anxiety
  • consistent conversion pathway from quiz/configurator to cart

Key metric to track:

  • Variant-selection completion rate.

Representative visual inspired by Atoms-style storefront

6) Manors Golf

Store: https://manorsgolf.com

Why study it: Strong blend of content and commerce. Useful for brands that need editorial atmosphere while still prioritizing product movement.

What to copy:

  • content-commerce rhythm on long pages
  • cross-linking from story content to shoppable modules
  • visual hierarchy that keeps product intent visible

Key metric to track:

  • Editorial-to-product click-through rate.

7) Baboon to the Moon

Store: https://baboontothemoon.com

Why study it: Illustrates how expressive brand design can coexist with practical ecommerce pathways. Great for teams worried that performance architecture will flatten brand personality.

What to copy:

  • personality-rich design within reusable section constraints
  • conversion-safe copy/visual balance
  • fast campaign refresh workflows

Key metric to track:

  • Time-to-publish for campaign landing updates.

8) Victoria Beckham Beauty

Store: https://victoriabeckhambeauty.com

Why study it: Premium beauty commerce with high standards for visual identity and product education. Good model for luxury and content-led verticals.

What to copy:

  • education-driven PDP structure
  • blend of trust signals, tutorials, and conversion CTAs
  • consistent premium style without UX clutter

Key metric to track:

  • PDP scroll depth to add-to-cart correlation.

9) Patta

Store: https://patta.nl

Why study it: Useful for brands with campaign-led merchandising, collabs, and high-intent drop moments.

What to copy:

  • collaboration-oriented merchandising architecture
  • limited-release information hierarchy
  • high-intent navigation for returning users

Key metric to track:

  • Returning visitor conversion rate during launches.

10) Tommy Hilfiger (reference for collaboration execution)

Store: https://usa.tommy.com

Why study it: Large-scale brand operations with campaign orchestration discipline. Useful as a reference for merchandising governance and global consistency.

What to copy:

  • campaign systemization across geos
  • predictable component standards
  • clean promotional layering at scale

Key metric to track:

  • Global template consistency score (internal QA metric).

11) Shopify Linkpop (historical platform reference)

Reference: https://linkpop.com

Why study it: Historical Shopify-owned property often used to understand platform dogfooding direction and lightweight commerce experiences.

What to copy:

  • simplified flow architecture
  • minimal surface area for fast interactions
  • utility-focused conversion patterns

Key metric to track:

  • Task completion rate for first-time users.

12) Weaverse-powered storefronts (real examples)

Here are six strong Weaverse-powered examples across different industries:

  • The Giving Movementhttps://thegivingmovement.com/
    UAE sustainable fashion brand with multi-region storefront complexity.
    Why it’s a good headless example: shows how a brand can scale content + commerce across markets without slowing merchandising velocity.

  • Timothy Londonhttps://timothy.london
    London luxury menswear brand with premium storytelling requirements.
    Why it’s a good headless example: demonstrates high-end editorial UX while maintaining clear conversion pathways.

  • Huckleberry Roastershttps://www.huckleberryroasters.com
    Specialty coffee brand with product education and repeat purchase dynamics.
    Why it’s a good headless example: balances educational content and product commerce effectively.

  • Karma and Luckhttps://www.karmaandluck.com/
    High-volume DTC brand in jewelry and wellness.
    Why it’s a good headless example: illustrates campaign-driven merchandising at scale with strong collection/PDP clarity.

  • Norwood Sawmillshttps://norwoodsawmills.com
    Outdoor equipment brand with technical product complexity.
    Why it’s a good headless example: handles complex product information architecture in a buyer-friendly way.

  • Bubble Goodshttps://bubblegoods.com/
    Food and beverage marketplace with multi-brand catalog needs.
    Why it’s a good headless example: showcases composable catalog presentation and marketplace-style discoverability.

  • Baltzarhttps://baltzar.com/
    Scandinavian lifestyle and fashion-focused brand experience.
    Why it’s a good headless example: demonstrates premium editorial merchandising with clean navigation and brand consistency.

  • Roland Store Brasilhttps://store.roland.com.br/
    Music gear storefront with broad catalog and product education needs.
    Why it’s a good headless example: shows structured catalog presentation for technical products while maintaining conversion clarity.

Key metric to track:

  • Campaign launch cycle time (brief → live)
  • Template reuse rate across collections and landing pages
  • Localized publish time for multi-market updates

Why headless projects still fail in 2026

  1. Engineering-only success criteria Shiny launch, slow business operations.

  2. Weak content governance No component standards, no ownership model.

  3. Overcustomization too early Teams burn budget before validating conversion upside.

  4. No post-launch publishing workflow Marketers depend on developers for every update.

Should you go headless now?

Say yes if most of these are true:

  • You need UX beyond theme constraints
  • You run frequent campaigns/experiments
  • You can own frontend platform decisions
  • You need composable integrations
  • You can commit to governance, not just launch

If not, a strong Liquid + OS2.0 setup is often the smarter near-term move.

FAQ

What are good headless Shopify examples to learn from?

Start with brands that show repeatable operating patterns, not just pretty visuals: Allbirds, Chubbies, Atoms, and premium storytelling brands like Nour Hammour.

Is headless Shopify worth it in 2026?

It is worth it when your roadmap requires custom UX, fast experimentation, and deeper integration control. Otherwise, modern Liquid can still be the better ROI.

What stack is most practical for Shopify-native teams?

Hydrogen + React Router patterns + Oxygen + a strong content workflow layer (like Weaverse for visual publishing speed).

Final takeaway

The best headless examples are not “cool websites.” They are systems that help teams ship faster, test faster, and convert better.

If you want that outcome, design your stack for operational velocity from day one.

Start here:

Reactions

Like
Love
Celebrate
Insightful
Cool!
Thinking

Join the Discussion

Continue Reading

More insights from the Weaverse team

Agentic Commerce on Shopify: How to Make Your Hydrogen Store AI-Agent-Ready in 2026

Agentic Commerce on Shopify: How to Make Your Hydrogen Store AI-Agent-Ready in 2026

Agentic Commerce on Shopify: How to Make Your Hydrogen Store AI-Agent-Ready in 2026 AI agents are no longer just helping customers research products. They’re starting to shop for them. That changes what it means to optimize a Shopify storefront in 2026. If a customer asks ChatGPT, Gemini, Copilot, or Perplexity to find the best product for a need, the winning store may not be the one with the prettiest homepage. It may be the one with the cleanest product data, the clearest schema, and the most machine-readable storefront. Shopify sees where this is going. Agentic Storefronts are now live. Universal Commerce Protocol (UCP), co-developed with Google, gives merchants a new path to become discoverable and transactable in AI-driven buying flows. For Hydrogen teams, this shift is not a threat. It is an advantage. Because headless storefronts already separate presentation from data, they are in a better position to serve both humans and machines—if the implementation is done right. The shift: from browse-first to ask-first commerce Traditional ecommerce assumes a human visits your site, clicks around, compares options, reads reviews, and decides. Agentic commerce compresses that flow. Now the customer says: Find me leather boots under $300 Compare the best protein powders without artificial sweeteners Reorder the best moisturizer I bought last time An AI agent handles discovery, comparison, filtering, and, increasingly, transaction steps. In that world, your storefront still matters for human trust and conversion. But your discoverability layer changes completely. Instead of competing only on: branding design merchandising ad creative you also compete on: structured product attributes variant completeness stable identifiers machine-readable policy and offer data feed quality schema quality storefront and API reliability If AI systems cannot parse your catalog confidently, they will simply recommend someone else. Why Shopify merchants should care now This is not theoretical anymore. Shopify has already started building for agentic commerce through: Agentic Storefronts Shopify Catalog UCP stronger machine-readable commerce surfaces improved developer tooling around modern Hydrogen builds The strategic message is clear: commerce interfaces are expanding beyond the browser. Your customer may still buy from a human-facing storefront. But the path to that purchase may begin inside an AI interface that never sees your hero banner, campaign landing page, or carefully tuned homepage flow. That means the old optimization stack is incomplete. A store can look premium and still be invisible to AI-driven discovery. The real bottleneck: bad product data Most merchants do not have an AI-readiness problem. They have a product data discipline problem. This is where many catalogs break down: vague product titles inconsistent variant naming missing GTINs incomplete metafields missing dimensions, materials, or care specs untyped custom data weak or missing Product schema broken canonical relationships across variants For humans, you can sometimes get away with that. For AI systems, you usually cannot. Agents work better when they can rely on structured, typed, normalized inputs. That includes: brand product type size color material dimensions availability price condition fulfillment details review signals return policies If those fields are incomplete, the agent has less confidence. Less confidence means less visibility. Why Hydrogen stores have an architectural advantage Hydrogen teams are better positioned than legacy storefront teams for one reason: the architecture already separates content and data from presentation. That matters because AI readiness is mostly about the quality of the data layer. A well-built Hydrogen store can: output clean JSON-LD from server-rendered routes expose typed metafield data consistently support structured product and collection pages generate machine-readable manifests and feed layers keep storefront UX flexible without compromising data integrity In other words, Hydrogen makes it easier to build a storefront that works for humans on the surface and machines underneath. That is exactly the direction commerce is heading. Where Weaverse fits This is also why Weaverse has a natural position in the shift to agentic commerce. The real opportunity is not choosing between beautiful storefronts for humans and structured storefronts for machines. The opportunity is building both from the same source of truth. With the right Weaverse implementation, teams can: keep merchant-friendly visual editing preserve a structured section architecture flow metafield data into storefront rendering support stronger schema outputs reduce the gap between merchandisers and developers That matters because AI readiness cannot depend on engineers manually patching every product page forever. The system has to be maintainable by the actual team running the store. The 2026 AI-agent-readiness checklist for Shopify + Hydrogen teams If you want your storefront to stay visible in AI-driven shopping flows, start here: 1. Tighten product titles Every title should clearly communicate: brand product type key differentiator Avoid vague naming. Keep titles precise and scannable. 2. Complete variant-level data Every variant should have: accurate size, color, and material data availability price SKU GTIN where applicable 3. Populate critical metafields At minimum, make sure structured data exists for: material dimensions weight care instructions certifications compatibility or use case shipping or fulfillment constraints where relevant 4. Implement JSON-LD properly Support: Product Offer ProductGroup where relevant review and aggregate rating where valid 5. Clean up internal product data logic Make sure data is consistent across: PDP collection cards search results feeds structured data outputs 6. Enable Shopify’s discovery surfaces Where relevant, prepare for: Shopify Catalog Agentic Storefront pathways UCP-compatible discovery patterns as they mature 7. Validate what machines actually see Do not just inspect the page visually. Test structured outputs and rich result eligibility. The mistake merchants will make A lot of brands will hear “agentic commerce” and respond with content theater. They will publish hot takes, add “AI-ready” to landing pages, and bolt on a chatbot. But that is not the hard part. The hard part is cleaning the data model. Because AI visibility is not a branding claim. It is an operational outcome. The winners will be the teams that treat: product data schema identifiers merchandising structure storefront architecture as revenue infrastructure. Final takeaway The future of commerce is not humans versus AI. It is structured backend for machines and compelling frontend for humans. That is the middle ground Shopify is moving toward. And it is exactly where Hydrogen and Weaverse can win. If your storefront cannot pass the AI-agent parse test, you will lose demand long before a customer ever reaches your site. Want to make your Hydrogen store AI-agent-ready without sacrificing visual control? Build it with Weaverse. Start free at https://weaverse.io.

By Paul Phan
Read
ChatGPT Quit Agentic Commerce. That Doesn't Mean You Should.

ChatGPT Quit Agentic Commerce. That Doesn't Mean You Should.

ChatGPT Quit Agentic Commerce. That Doesn't Mean You Should. Two posts this week confirm the same signal: Juozas Kaziukėnas: ChatGPT is abandoning agentic commerce after 5 months. Users researched products but didn't buy through the chatbot. Kelly Goetsch: OpenAI is losing ground to Anthropic and deprioritizing commerce because enterprise commerce is harder than they expected. The headlines say "AI commerce is failing." The real story is more nuanced. Why They Retreated Agentic commerce — AI agents that discover, compare, and complete purchases on behalf of users — hit three hard walls: 1. Catalog Normalization Is Brutal Product data (pricing, inventory, variants, availability) needs to be: Standardized across every retailer Constantly updated in real-time Accurate enough for AI to trust Only Google Shopping has done this at scale. ChatGPT couldn't. 2. Trust Gap: Research ≠ Purchase Users were happy to research products inside ChatGPT. But when it came time to buy, they didn't trust the chatbot with payment. This isn't a ChatGPT problem — it's a user behavior problem. Facebook Shops and Google's "Buy with Google" hit the same wall. 3. Fraud and Error Safeguards Commerce and payment firms need real safeguards against: AI initiating fraudulent transactions AI making erroneous purchases Liability when something goes wrong These safeguards don't exist yet at scale. Without them, platforms retreat to just driving traffic to retailer sites. What They're Not Saying This is a pause, not a permanent retreat. Kelly Goetsch explicitly predicts: "they'll re-prioritize commerce in a few months once they figure out the infrastructure layer." Juozas Kaziukėnas frames it as lack of conviction: Chinese AI platforms like Alibaba's Qwen are spending hundreds of millions to force the behavior change. ChatGPT gave up too early. Either way, they'll be back. The question is: will your store be ready? The Infrastructure Layer Wins Long-Term When AI platforms return to agentic commerce, the stores that win won't be the ones with the prettiest themes or the best brand storytelling. They'll be the ones with: Structured product data that agents can read and reason about Clean APIs that don't break under automation Checkout flows with real safeguards and clear liability boundaries Machine-readable manifests (like UCP's ucp.json) that broadcast capabilities to agents This is exactly what Hydrogen + Storefront API architectures are built for. Why Hydrogen Teams Have a Structural Advantage Monolithic Liquid stores have product data trapped in rendered HTML. AI agents have a hard time reasoning over server-rendered markup. Hydrogen stores built on the Storefront API already expose: Structured, queryable product data Stable cart and checkout mutations Clean authentication via Customer Account API Market-aware URLs for localized experiences Adding UCP support or similar agent-ready layers is an extension of the architecture, not a rewrite. What You Should Do While Big Platforms Regroup 1. Audit your data layer Can an AI agent query your product catalog via clean API? Or is your data trapped in theme templates? 2. Check your checkout safeguards Do you have clear boundaries for what automated systems can and can't do? Fraud detection? Liability clarity? 3. Make your capabilities machine-readable If you're on Hydrogen, you're most of the way there. The next step is declaring your capabilities in a format agents can discover. 4. Don't wait for platforms to figure it out The stores that win agentic commerce won't be the ones who waited for ChatGPT to solve catalog normalization. They'll be the ones who made their data clean, their APIs stable, and their checkout safe — before the next platform tries again. The Honest Take Agentic commerce is harder than the hype. The platforms with the biggest AI models just hit the wall. But the infrastructure layer still wins. If your store is machine-readable, API-first, and checkout-safe, you become the integration backbone for whichever platform eventually cracks it. The platforms quit early. That doesn't mean you should. Sources Juozas Kaziukėnas on ChatGPT abandoning agentic commerce: https://www.linkedin.com/posts/juozas_chatgpt-is-abandoning-agentic-commerce-its-activity-7435308306329473025-Ncy0 Kelly Goetsch on OpenAI deprioritizing commerce: https://www.linkedin.com/posts/kellygoetsch_feels-like-openai-is-quickly-losing-ground-activity-7435323329483460608-GgKK Shopify headless architecture: https://shopify.dev/docs/storefronts/headless

By Paul Phan
Read
How to Set Up Color Swatches in Your Shopify Hydrogen Store

How to Set Up Color Swatches in Your Shopify Hydrogen Store

How to Set Up Color Swatches in Your Shopify Hydrogen Store If you're building a Hydrogen storefront with variant-heavy catalogs, swatches are one of the highest-impact UX improvements you can ship quickly. This guide walks through the full implementation path from Shopify Admin setup to production-ready React components. Color swatches transform the shopping experience by allowing customers to visualize product variants at a glance. Instead of reading through dropdown menus, customers see the actual colors—making purchase decisions faster and more intuitive. In this comprehensive tutorial, we'll walk through implementing color swatches in a Shopify Hydrogen store, from configuring the data in Shopify Admin to rendering the swatches in your React components using the modern optionValues API (released in 2024-07). Part 1: Setting Up Swatches in Shopify Admin Step 1: Access Product Variant Options Log in to your Shopify Admin Navigate to Products → Select a product with color variants Scroll to the Variants section Click Edit Options next to the "Color" option Step 2: Configure Swatch Data For each color value, you can set: Swatch TypeWhen to UseExample Solid Color (Hex)Single, uniform colors#FF0000 for Red Image UploadPatterns, textures, gradientsPlaid, Leopard print, Tie-dye Named ColorStandard CSS colors"Navy", "Tomato", "Teal" Best Practices for Swatch Configuration ✅ Use Hex Codes for Accuracy: #1E3A8A is more reliable than color names ✅ Optimize Swatch Images: Keep them under 200x200px ✅ Consistent Naming: Use "Navy Blue" across all products, not sometimes "Navy" ✅ Fallback Ready: If no hex is set, the code will attempt to parse the option name as a color Part 2: Querying Swatch Data with GraphQL The optionValues API Shopify's Storefront API provides the optionValues field—a dedicated, efficient way to fetch product option data including swatches. GraphQL Fragment Add this fragment to your app/graphql/fragments.ts: fragment ProductOption on ProductOption { name optionValues { name firstSelectableVariant { id availableForSale price { amount currencyCode } image { url altText } } swatch { color image { previewImage { # Optimize: Resize swatch images server-side url(transform: { width: 100, height: 100, crop: CENTER }) altText } } } } } Key fields: swatch.color: Hex code (e.g., #FF5733) swatch.image.previewImage: Optimized image for patterns/textures firstSelectableVariant: First available variant with this option—critical for navigation Using the Fragment in Product Queries query Product($handle: String!) { product(handle: $handle) { id title options { ...ProductOption } variants(first: 100) { nodes { id availableForSale selectedOptions { name value } } } } } Part 3: Building the React Components 1. Color Utility Functions Create helpers to handle edge cases like light colors on white backgrounds. // app/utils/colors.ts import { colord } from "colord"; /** * Validates if a string is a parseable color * Supports hex, RGB, HSL, and named colors */ export function isValidColor(color: string): boolean { return colord(color).isValid(); } /** * Detects if a color is "light" (brightness > threshold) * Used to add borders to white/cream/yellow swatches */ export function isLightColor(color: string, threshold = 0.8): boolean { const c = colord(color); return c.isValid() && c.brightness() > threshold; } Install the dependency: npm install colord 2. Swatch Component Create a reusable swatch component with local type definitions: // app/components/product/ProductOptionSwatches.tsx import { Image } from "@shopify/hydrogen"; import { cn } from "~/utils/cn"; import { isLightColor, isValidColor } from "~/utils/colors"; // Define types locally for better portability export type SwatchOptionValue = { name: string; selected: boolean; // Computed prop available: boolean; // Computed prop swatch?: { color?: string | null; image?: { previewImage?: { url: string; altText?: string | null; } | null; } | null; } | null; }; type SwatchProps = { optionValues: SwatchOptionValue[]; onSelect: (value: SwatchOptionValue) => void; }; export function ProductOptionSwatches({ optionValues, onSelect }: SwatchProps) { return ( <div className="flex flex-wrap gap-3"> {optionValues.map((value) => ( <SwatchButton key={value.name} value={value} onClick={() => onSelect(value)} /> ))} </div> ); } function SwatchButton({ value, onClick }: { value: SwatchOptionValue; onClick: () => void; }) { const { name, selected, available, swatch } = value; const hexColor = swatch?.color || name; // Fallback to name const image = swatch?.image?.previewImage; return ( <button type="button" disabled={!available} onClick={onClick} title={name} className={cn( "size-8 overflow-hidden rounded-full transition-all", "outline-1 outline-offset-2", selected ? "outline outline-gray-900" : "outline-transparent hover:outline hover:outline-gray-400", !available && "opacity-50 cursor-not-allowed diagonal-strike" )} > {image ? ( <Image data={image} className="h-full w-full object-cover" width={32} height={32} sizes="32px" /> ) : ( <span className={cn( "block h-full w-full", (!isValidColor(hexColor) || isLightColor(hexColor)) && "border border-gray-200" )} style={{ backgroundColor: hexColor }} > <span className="sr-only">{name}</span> </span> )} </button> ); } 3. Diagonal Strike-Through for Unavailable Variants Add this CSS utility to your app/styles/app.css: .diagonal-strike { position: relative; } .diagonal-strike::after { content: ""; position: absolute; inset: 0; background: linear-gradient( to bottom right, transparent calc(50% - 1px), #999 calc(50% - 1px), #999 calc(50% + 1px), transparent calc(50% + 1px) ); pointer-events: none; } 4. Using the Component In your route file, map the raw GraphQL data to the SwatchOptionValue type by calculating selected and available status. // app/routes/products.$handle.tsx import { useNavigate, useLoaderData } from "@remix-run/react"; import { ProductOptionSwatches, type SwatchOptionValue } from "~/components/product/ProductOptionSwatches"; export default function ProductPage() { const { product, selectedVariant } = useLoaderData<typeof loader>(); const navigate = useNavigate(); // 1. Find the color option const colorOption = product.options.find( (opt) => ["Color", "Colors", "Colour", "Colours"].includes(opt.name) ); // 2. Map raw data to component props // We need to calculate 'selected' and 'available' based on current context const swatches: SwatchOptionValue[] | undefined = colorOption?.optionValues.map((value) => { // Check if this is the currently selected value const isSelected = selectedVariant?.selectedOptions.some( (opt) => opt.name === colorOption.name && opt.value === value.name ); return { ...value, selected: !!isSelected, available: !!value.firstSelectableVariant?.availableForSale, }; }); const handleSwatchSelect = (value: SwatchOptionValue) => { // Navigate to the corresponding variant URL if (value.firstSelectableVariant) { navigate(`?variant=${value.firstSelectableVariant.id.split('/').pop()}`, { preventScrollReset: true, replace: true }); } }; return ( <div> {colorOption && swatches && ( <div className="space-y-2"> <h3 className="font-medium">Color: {selectedVariant?.selectedOptions.find(o => o.name === colorOption.name)?.value}</h3> <ProductOptionSwatches optionValues={swatches} onSelect={handleSwatchSelect} /> </div> )} </div> ); } Final checklist Before shipping, verify: Swatch data is configured for every color option in Shopify Admin Variant availability is reflected visually (disabled + strike-through) Light colors have visible borders Swatch images are optimized and transformed server-side URL/state updates correctly when users change swatches With this setup, shoppers can scan options faster, reduce misclicks, and reach purchase decisions with less friction.

By Lee
Read

Never miss an update

Subscribe to get the latest insights, tutorials, and best practices for building high-performance headless stores delivered to your inbox.

Join the community of developers building with Weaverse.