The Vision
Redefining everyday luxury
Since 2015, Mejuri has been redefining the fine jewelry industry, creating pieces meant for more than just special occasions. Founded by third-generation jeweler Noura Sakkijha, Mejuri prides itself on creating moments of joy within everyday life through beautiful jewelry that provide style and inspiration to their customers.
Mejuri is committed to making a positive impact on people and the planet by designing sustainable jewelry, sourcing ethical materials, and operating responsibly. Their innovative approach includes releasing limited-quantity products weekly, reducing waste by manufacturing based on consumer demand, and using lab-grown diamonds with 100% climate-neutral production in certified sustainable factories.
Mejuri has expanded to become a global brand with over 560 employees—77% of whom identify as women—39 stores across North America, the UK, and Australia, two million customers, and celebrity fans, including Selena Gomez, Ariana Grande, Oprah Winfrey, and Billie Eilish.
A platform aligned with growth
With ambitions to expand its presence across five global markets, Mejuri required a tech stack that empowered merchandisers, streamlined workflows, and delivered high-performance, localized shopping experiences. They wanted to build a flexible content engine on top of Shopify Hydrogen, their chosen e-commerce platform, to deliver an inspiring, consistent brand to customers worldwide.
Empowering teams with greater flexibility
A key goal of the migration was to give their digital merchandising and content teams the power to create really unique experiences and pages without having to rely on engineering every time. They wanted to move away from just managing the site day-to-day to thinking more creatively about how to market the brand.
The Challenge
Accumulated tech debt and complexity
Mejuri's rapid growth led to an extremely complex custom tech stack with Spree, Next.js, and previous headless CMS. Content updates were hindered by rigid structures and manual processes that required engineering involvement. Even simple content changes often required asking engineering to create generic components that could be manipulated by injecting custom HTML, CSS, and JavaScript. This introduced potential bugs and meant the content team couldn't move as quickly as they needed to support frequent product launches. This reliance on custom code introduced bugs, slowed down deployments, and created inefficiencies that strained the lean engineering team.
The overall content model was particularly challenging to work with and hadn't been thought out as a content model. It just was a bunch of content and as feature requests came up, more and more, we just added on to it.
The team started to hit limits on the number of content types in their previous headless CMS, forcing them to rethink objects to make them more flexible but ultimately leading to a poor editorial experience. Digital merchandisers lacked the ability to easily preview pages, create reusable components, or make site changes confidently.
The Solution
Partnering with Domaine to re-platform
The team decided they needed to start from scratch on their content model. That's why Mejuri decided to tap Shopify design and development partner, Domaine, to help create the new stack. Domaine specializes in building customized solutions for enterprise brands on Shopify, and partners with its clients to build transformative digital experiences.
We're going to start from scratch and this is the last time I really want to see Mejuri go through a migration for the site. And so let's question everything and let's really look for best-in-class software and what's the right solution given, you know, where we are today, but where are we going to be in five years, 10 years? And who can we really grow with? And chatting with the folks at Domaine, they really believe strongly that Sanity was the right choice.
Choosing Sanity for flexibility and performance
Partnering with Domaine, they identified Sanity and Shopify Hydrogen as the foundation for a flexible, modern architecture capable of meeting their goals. After evaluating options, Mejuri chose to migrate to Sanity for several key reasons:
- Sanity's fully customizable content models and lack of limits on content types gave them much more flexibility than previous headless CMS.
- The Sanity Studio could be tailored to the specific needs of their content team and integrated smoothly with their design system.
- Sanity's e-commerce expertise, the Sanity Connect application for Shopify, live previews, visual editing, and integration capabilities were key advantages over previous headless CMS.
Sanity's live preview feature was huge for Mejuri's content team, making it much easier to visualize page changes and catch issues before publishing – and this is something we just couldn’t get with our old CMS.
A collaborative migration
Mejuri partnered with Domaine and the Sanity team to execute a phased migration from the previous headless CMS to Sanity and Shopify Hydrogen. This collaborative approach ensured risks were minimized while delivering results on time. The team was facing tight deadlines in order to get up and running before Black Friday, so they worked to get the entire migration done in 6 months.
Key elements of the migration included:
- Content modeling overhaul: Sanity’s flexibility enabled a complete redesign of content structures to reduce complexity and enhance usability.
- Phased rollout: Mejuri first launched in Australia as a pilot market to validate the new system and address any issues before rolling it out globally.
- Custom product syncing: Using Sanity Connect, the team implemented real-time synchronization across multiple Shopify stores, ensuring consistent and accurate product data.
Multi-store product setup with Shopify
Domaine developed a custom sync handler to address the challenges of managing multiple expansion stores in Shopify while maintaining a centralized content workspace in Sanity. This handler was implemented as a serverless endpoint within Mejuri’s headless store architecture on Shopify Oxygen. It enabled seamless synchronization of product data from multiple Shopify expansion stores into Sanity.
The custom handler received data from these stores, using product handles as unique identifiers to merge the information into a single document within Sanity. This eliminated the issue of duplicate product documents, streamlining Mejuri’s merchandising process. By leveraging Sanity's flexibility, Domaine ensured that the merged product data in Sanity was accurately linked to Shopify’s master and expansion stores, while Shopify continued to manage transactional data and fulfillments.
This solution not only simplified content management but also allowed Mejuri’s teams to focus on storytelling and campaign execution, while ensuring a clean and unified structure for their e-commerce operations.
One of the reasons that I love Sanity is because you get all the great out of the box features but also, we have the ability to fully customize where we need to. So one of the challenges/requirements, from the Mejuri side was that they wanted to have a single place to edit product content across all stores. We were able to meet that challenge, without too much pain, using the customization that Sanity gives us.
The Results
Empowering teams with flexibility
The Mejuri Engineering team worked together with their content editors to build a structured ecosystem for all of Mejuri's website and app content into reusable components. These transformed the way Mejuri’s teams worked. Content editors could now independently build and update pages, preview content in real-time, and manage global campaigns with confidence without needing developer support.
Something we didn’t have in our previous setup was having different layouts for different products, so products that are tagged a certain way get a different treatment on the website which really helps us to standardize our content and bulk upload content which made our content editors' lives a million times easier.
Faster performance, better SEO
The migration led to measurable improvements in site performance and user experience:
- Achieved load times under four seconds, with optimization ongoing to meet a two-second target.
- Improved SEO rankings through cleaner, more efficient content structures.
Unlocking future potential
With the core migration complete, Mejuri is now exploring more advanced use cases on Sanity:
- Personalization: Plans to deliver personalized product recommendations and content based on user behavior and location.
- Omnichannel expansion: Exploring how Sanity can support in-store digital signage and other touchpoints.
- Streamlining workflows and collaboration: Mejuri is integrating design, campaign iteration, and content workflows into Sanity, reducing dependencies on external tools like Figma. This approach speeds up approvals, minimizes design inconsistencies, and fosters strong feedback loops with design and brand teams, ensuring Sanity evolves to meet the needs of all stakeholders.
I think it's really exciting to see [our content editors] start to have that ownership over Sanity. The team is really excited to have so much freedom to think of these creative solutions, and they’re just having a lot of fun doing that.
Get a behind-the-scenes look at Mejuri's studio setup
Catch the full discussion with Mejuri and Domaine to dive deeper into their migration journey.