Artovnia is a Polish marketplace for handmade goods, built on Medusa.js. Sellers list their products, buyers order through Artovnia's checkout, and fulfillment, stock, and payouts all live inside the marketplace — not on someone else's platform.

The problem is that most sellers already run their own store somewhere else. They already have a Shopify or WooCommerce shop set up, with products, photos, descriptions, and stock levels that took months to build. Asking them to recreate all of that by hand inside Artovnia is a huge onboarding barrier, and a great way to lose sellers before they publish a single product.

So I built an external commerce hub: a system that lets a seller connect their existing Shopify or WooCommerce store to their Artovnia account, import their catalog automatically, and keep inventory synchronized in both directions afterward. Sell the last unit on Shopify, and Artovnia's stock updates. Sell it on Artovnia, and Shopify's stock updates back.

That sounds like a straightforward integration problem. It isn't — and why it isn't is what this article is actually about.

Every integration architecture looks provider-neutral after the first provider. Mine did too.