3D Tent Configurator for Shopify

Before: dropdowns and a single static photo. After: the configurator embedded in the same product page — live 3D preview, per-side colours, and logo placement.
Overview
A real-time 3D tent configurator built for a Shopify merchant and embedded directly into their storefront. Shoppers customize every side of the tent — panel colors, uploaded logos and their placement — in a live 3D preview, then add the finished design straight to cart. The full configuration, including the uploaded artwork and a preview of the built tent, flows through checkout and lands in the merchant's Shopify admin with the order.
The Challenge
Shopify themes aren't built to host a heavy WebGL application, and its cart and checkout are a closed system — there's no native way to attach a 3D app's state to an order. The configurator had to run inside the merchant's existing store without a theme rewrite, and every customization detail — which color on which side, how many logos were uploaded, where each one sits — had to survive the journey through cart and checkout so the fulfillment team could produce exactly what the customer designed.
The Solution
I hosted the configurator as its own app and embedded it into the product page via an iframe, then wrote a custom JavaScript bridge that lets the two worlds talk over window.postMessage. The storefront passes product context into the configurator; the configurator streams design state back out. On add-to-cart, the bridge serializes the entire design into the Shopify cart, where it survives checkout untouched and attaches to the order.
- iframe embed — the WebGL app stays fully isolated from the theme: one snippet drops it into the product page, no theme surgery required.
- postMessage bridge — a lightweight message protocol syncing the iframe and the storefront: product context in, design state and cart payload out.
- Order-ready serialization — per-side colors, each uploaded logo (stored and linked), placement data and a rendered preview image are written into the cart as line-item properties, so they appear on the order itself.
Key Features
The result behaves like a native part of the store, front to back:
- Per-side customization — every panel of the tent recolors independently, with logo upload and placement per side, rendered live in 3D as the shopper works.
- Logo upload pipeline — customer artwork is uploaded, stored and mapped onto the tent geometry in real time, with the image count tracked per order.
- Seamless add-to-cart — the configured tent drops into Shopify's normal cart and checkout flow; customers never leave the store or notice the seam.
- Full admin visibility — every order shows the merchant the complete design: chosen colors, each uploaded logo and a visual preview of the exact tent the customer built.
The Outcome
The configurator shipped embedded in the merchant's live store. Customers design and order fully custom tents without leaving the product page, and the fulfillment team sees everything they need — preview, colors, artwork, image counts — inside the Shopify admin they already use, with no new tools to learn.