For online shoppers, the entire product catalogue is always just a click away. Handy tools to search and filter, product recommendations, clear pricing, and stock levels are all available instantly. But walk into a physical store and that drops away. What’s available for customers comes down to what’s on the rail, in that size, in that store.

The convenience customers enjoy online just isn’t available in a physical setting, but we’re closing that gap with Magic Mirror.

From characters to catalogue

This idea didn't come from a boardroom or spec doc, it was sparked by a TwitchCon highlights reel. In the video, visitors were stepping in front of a ‘magic mirror’ and seeing themselves transformed into anime characters, superheroes, and even Albert Einstein - all rendered in real-time.

The experience looked fun, engaging and, most importantly, instant. It led to a simple question - what if, instead of characters, we could build something similar to show products that aren’t on the shelves?

If we could take that same real-time AI capability and apply it to a retail setting, we could solve a significant hurdle in fashion and footwear retail - the physical limit of the clothes rail. TwitchCon showed what the tech could do. The next step was applying it to a real Shopify catalogue, in a real store environment.

Two screens, one experience

We wanted to stay away from the usual headaches of shop floor tech. No expensive hardware to maintain, no bulky kits to install, and no stack of tablets to charge every night. Instead, we use two screens the customer already understands - the ‘mirror’ and their own phone.

Minimal hardware

The physical footprint is kept as light as possible to ensure it fits into any store layout:

  • Store display - A portrait-orientation smart mirror, monitor, or kiosk screen running a standard, full-screen browser. This acts as the customer's canvas, showing their live camera feed and the AI-powered product overlays.

  • Customer phone - By allowing shoppers to use their own device and removing the blockers such as app downloads, account creations, or tedious forms, we’ve lowered the barrier to entry to a simple QR code scan.

Seamless software

The system works as a dual-screen experience that behaves like a single flow:

  • Session start - When the mirror is idle, it displays a unique session QR code. A quick scan turns the customer’s phone into a high-powered remote control.

  • Live catalogue - Once connected, the phone pulls the full Shopify product catalogue in real-time, complete with live pricing, accurate product names, and the latest product imagery.

  • Instant render - When a customer taps a product on their phone, the mirror responds immediately. Utilising the Lucy real-time video model from our pioneering tech partners Decart, it renders the selected product onto their live feed, so they can instantly see themselves wearing the item.

  • Session reset - As soon as the customer taps ‘Done’ or walks away, the session expires after 60 seconds and the mirror resets for the next person.

In this setup, the phone isn’t just a remote - it’s the link between Shopify and the shop floor. Using the Storefront API, the same data powering the website is now available in-store. No separate system, just a different way to use what’s already there.

Transforming how we shop

In our early testing, we’ve seen how this tech changes the customer’s journey. It isn't just about the ‘wow’ factor; it solves practical shopping frustrations:

  • Stock gaps - A customer can try on items that are out of stock in that specific store but available online. No more leaving empty-handed because a size or colour isn’t on the rail.

  • Colour variants - Shoppers can instantly see how they look in every available colourway, helping them make a decision faster than a physical change would allow.

  • Completing the look - A customer can see how a jacket they’ve found on the rail looks when paired with trousers or accessories only available online, extending what’s possible in-store.

  • Sharing the look - Customers can quickly see a look to show a friend or take a photo, without the hassle of a full wardrobe change or a trip to the fitting room.

  • Quick decisions - For those in a rush, Magic Mirror offers a fast confidence check, allowing them to buy without going through the full try-on process.

The bigger picture

Most in-store tech falls into one of two traps. It’s either a large, expensive kiosk that’s difficult to maintain, or a disconnected experience with no real link to the online store. The result is a fragmented journey, with one version of the brand online and a different (often more limited) one in-store.

This proof of concept is an attempt to bring those experiences closer together. By testing a setup where the mirror is just a screen and the customer’s own phone acts as the controller, we’re exploring a way to make unified retail feel more natural.

We’re still in the early stages, but the goal is clear - to make the transition between online and in-store feel continuous, not separate.

Keeping the path to purchase open

As we move on from this initial proof of concept, the focus is on extending the experience. We’re exploring ways to capture data during the session, enabling follow-up messaging such as: ‘Today you tried on the Soho Jacket [Photo from your session] - here’s 10% off to help you finish the look.’

Future iterations will also allow customers to search and filter the full catalogue directly on the mirror, sync their ‘tried on’ items with their Shopify basket, and receive recommendations for accessories that are in stock.

By turning the mirror into a data-driven touchpoint, rather than just showing clothes, we’re creating a personalised journey that continues long after the customer has left the store.

 


Jonathan Oliver

by Jonathan Oliver

Front End Software Engineer

Share :
More from R&D

Related articles

Generating in-store creative from Shopify data

Generating in-store creative from Shopify data

Magic Mirror POC

Magic Mirror POC

Keeping shelf pricing in sync

Keeping shelf pricing in sync