Field notes / Teardowns

Mejuri teardown: stores that work as warehouses, and a website that hides them

Mejuri turned its stores into fulfillment hubs on Shopify. The website still makes you pick a size before it tells you whether a store has the piece.

Mejuri homepage with a Complimentary Jewelry Cleaning At Stores banner

Mejuri started online and now runs a real store fleet. Shopify's interview with Mejuri's Chief Digital Officer puts it at 39 stores across the US, UK, Canada, and Australia, and says Mejuri replatformed from a custom stack to Shopify ecommerce and POS in less than nine months. Noibu's case study covers the Shopify Plus migration as well.

The more interesting part is what they did with the stores. Shopify's fulfillment case study says Mejuri met 80% of its order management and routing requirements with off-the-shelf features, and started shipping UK orders straight from its King's Road store. UK lead times dropped from 7 to 9 days to 1 to 2 days, and monthly shipping costs fell by over $100K. It expanded store fulfillment to 5 North American locations, with plans to roll it out across most of its retail stores.

So the back office treats stores as inventory. I went through mejuri.com on October 28, 2026 to see how much of that a shopper can actually see.

What Mejuri does well

The homepage sells the store visit. The top banner on the pages I captured reads "Complimentary Jewelry Cleaning At Stores" (screenshot taken Oct 28, 2026). That is a small offer, but it gives an online shopper a reason to walk into a store, which is exactly where Mejuri has built its advantage.

Mejuri homepage with a Complimentary Jewelry Cleaning At Stores banner and a chat bubble
The homepage banner pushes a reason to visit a store. Screenshot taken Oct 28, 2026.

The product page answers the money questions fast. On the Stevie Ring page, the price ($138), the material (18k Gold Vermeil), the rating (4.9), the metal swatches, and sizes 4 to 10 all sit above the fold. It also shows "From $20/month, or 4 payments at 0% interest with Afterpay or Klarna" (screenshot taken Oct 28, 2026). For a $138 ring, that is the right amount of information.

In-store pickup is on the product page. There is a "Pick Up In-Store Availability" section right on the page (screenshot taken Oct 28, 2026). Plenty of brands with stores never connect them to the product page at all.

What Mejuri does badly

Store availability is hidden behind a size you may not know. The pickup section on the Stevie Ring page says "Select a size to see availability" (screenshot taken Oct 28, 2026). For rings, size is the thing a lot of people are unsure about, and trying on is one of the best reasons to go to a store. The page makes you guess a size before it tells you whether you can go try it.

Mejuri Stevie Ring product page at 138 dollars with sizes 4 to 10 and a Select a size to see availability message
The Stevie Ring page asks for a size before it shows store availability. Screenshot taken Oct 28, 2026.

Search mixes very different materials and prices with no quick way to split them. A search for "gold hoops" returned 126 products (screenshot taken Oct 28, 2026). The first row I captured mixed 18k Gold Vermeil and Solid Yellow Gold: Tube Huggie Hoops at $98 in vermeil next to Bold Huggie Hoops at $268 in 10k solid gold. Someone searching "gold" may mean either, and the difference matters a lot to how they wear and care for it.

Mejuri search results for gold hoops showing 126 products mixing gold vermeil and solid gold
"Gold hoops" returns 126 products, mixing vermeil and solid gold in the same row. Screenshot taken Oct 28, 2026.

The chat does not seem connected to the stores. There is a chat bubble on the pages I captured (screenshot taken Oct 28, 2026). I did not test it in depth, so I will not judge the answers. But nothing on the page suggests it is the way to ask "can I try this in a size 6 near me," which is the question the store network is built to answer.

How I'd improve it

My opinion: Mejuri already did the hard, expensive part, which is clean inventory across stores on one platform. The improvements are mostly about showing it.

1. Show store availability across all sizes up front. Instead of "Select a size," show a small grid: nearest store, which sizes it has today. Then let people hold a size or two to try. The data to do this is the same inventory Shopify already routes orders from.

Mockup of the Mejuri Stevie Ring page showing store availability for every size and a hold a size to try button
Mockup: store availability for every size shown before you choose, with a "hold a size to try" option. Store names and stock are illustrative, not real data. Not a real Mejuri page.

2. Add material chips to search. Two taps, "Solid gold" and "Gold vermeil," on top of the results. An AI layer can go one step further and read the query: "solid gold hoops under $300" should filter to solid gold and a price range without the shopper touching a filter.

Mockup of Mejuri gold hoops search results with Solid gold and Gold vermeil filter chips
Mockup: material chips on top of search so vermeil and solid gold are one tap apart. Counts are illustrative. Not a real Mejuri page.

3. Point the chat at sizing and stores. A ring sizing assistant that ends with "this store has your size, want to hold it" is a much better use of AI here than a general product chatbot. It turns an online question into a store visit, and the case study shows the stores are already set up to fulfill.

4. Measure holds, not chats. I would track how many holds turn into store purchases and how many sizing conversations turn into a hold. Those two numbers tell you if the AI is doing anything useful.

Technology detected

I fetched mejuri.com on October 28, 2026, including the homepage and the Stevie Ring product URL. I listed only vendors I could see in headers, loaded snippets, or the page payload. A name that appeared only in the Content-Security-Policy allowlist was not enough.

Mejuri storefront stack, checked Oct 28, 2026

PieceWhat I foundEvidence
EcommerceShopify Hydrogen on OxygenThe HTML response sends powered-by: Shopify, Oxygen, Hydrogen. Scripts load from cdn.shopify.com/oxygen-v2/. The payload mentions mejuri-us.myshopify.com. /cart.js returns 404, which matches Hydrogen, not a Liquid theme.
CDN / hostingCloudflare plus Shopify OxygenThe response includes server: cloudflare and a cf-ray. The app assets are served from Shopify's Oxygen CDN.
FrontendHydrogen with React RouterThe page modulepreloads oxygen-v2 entry.client and jsx-runtime files. It also sets window.__reactRouterContext.
Content / imagesSanity and Cloudinaryog:image and other images load from cdn.sanity.io. Homepage images load from res.cloudinary.com/mejuri-com. The CSP frame-ancestors list includes mejuri.sanity.studio.
SearchMarqoThe homepage and PDP inject https://pixel.marqo-ep.ai/.../p.min.js. I did not find a Constructor or Algolia script on the page.
ReviewsYotpoBoth pages include a yotpo-snippet-script. The Stevie Ring screenshot from Oct 28, 2026 shows a 4.9 rating.
Chat / supportGorgiasBoth pages include a gorgias-snippet-script and a gorgiasWidgetId. The homepage screenshot from Oct 28, 2026 shows a chat bubble.
AnalyticsGoogle Tag Manager and SegmentThe homepage includes a GTM snippet and a segment-snippet-script.
Payments / BNPLShop Pay, Afterpay, KlarnaThe page payload includes Shop Pay, Afterpay, and Klarna config pointing at js.klarna.com. The Stevie Ring screenshot from Oct 28, 2026 shows Afterpay and Klarna.
Email / SMSPostscript and KlaviyoThe page includes a postscript-snippet-script and a klaviyoPublicApiKey.

Engineer's take

Hydrogen on Oxygen is the right shape for a brand that already turned stores into inventory. Shopify holds the stock. The storefront is a React app they can change without waiting on a theme release. Sanity for content and Cloudinary for product media is a clean split.

The friction is that the shopper cannot see that inventory. The Stevie Ring screenshot still says "Select a size to see availability." That is a UI choice on top of a stack that can query store stock. Marqo is on the page, and the gold hoops screenshot still mixes vermeil and solid gold. That is ranking and filters, not a missing search vendor.

What I would watch: this page already loads Yotpo, Gorgias, Segment, Postscript, Klaviyo, Afterpay, and Klarna. Hydrogen bundles get heavy when every prompt becomes another snippet. The chat bubble in the screenshot should read store stock and size, or it is just another third party.

Architect's take

The structural move is to expose Shopify store inventory on the product page across sizes, then let search and chat read the same record. Material, size, and nearest store are attributes Hydrogen can already ask for. AI belongs on that record: "hold a 6 at this store" and "solid gold under $300," not a generic assistant next to a size picker that is still closed.

They already paid for unified stock. The website is where that system should show up.

If you run a commerce brand and want this kind of review pointed at your own store, it is what my AI Opportunity Teardown is for. For $2,000 I spend a week on your site and data, and you get a written one-pager and a 15-minute Loom walking through where AI would actually move revenue and where it would not.

From the idea to the work

Make the workflow useful in a real product.

Bring a product idea, an internal tool, or an AI-assisted workflow that needs a working implementation.

See the Lively Icons case study →


More Stories