When Maisōn Harry George came to us, the brief was simple to describe and difficult to execute: one brand, one catalog, three different audiences. Retail customers needed a storefront. Wholesale clients needed their own portal with their own rules. The team running the business needed an admin dashboard to control all of it from one place.
The off-the-shelf options each had a way to fake this. None of them had a way to do it properly.
We picked Medusa. This is the post we wanted to read before we started.
Maisōn Harry George had been handling wholesale clients off the site — phone calls, emails, manual order entry, the kind of process that works for a year and breaks the moment the business grows. They wanted that workflow pulled into the website. Same product catalog as retail, but with B2B-specific pricing, minimum order quantities, account-based logins, and a clean operational view for the team. They were also already thinking about a mobile app and a list of features for future phases that we knew would test whatever we built.
Translation: a single source of truth, three tailored experiences on top of it, and headroom for whatever comes next.
This is the question every founder asks first, so we'll answer it first.
Shopify is excellent at what Shopify is for. If you're selling D2C, you want a hosted platform, and you don't plan to fight the system, it's the right answer. We use it. We recommend it. We've shipped successful Shopify stores.
For Maisōn Harry George, it wasn't the right answer — and the reason was less about features than about direction. The client teased a mobile app. They had wholesale workflows that wanted to live inside the same product model as retail, not next to it. They had a list of features for later phases that would each push a Shopify build closer to its limits. We've seen that movie before. You start by paying for apps to plug the gaps. Then you start writing custom code around the apps. Then you hit a wall on the part of Shopify you can't customize, and the rebuild conversation begins.
Our mentality at the studio is straightforward: we hate rebuilds. The product should always be ahead of the business, not behind it. So when a brand is genuinely planning to grow into something custom, we'd rather start custom and scale, than start rented and rebuild.
That's where Medusa came in.
Medusa is an open-source, headless commerce platform. Headless meaning the backend — products, pricing, orders, customers, payments — is decoupled from the frontend. Open-source meaning we own the code, host it where we want, and modify any part of it without asking anyone's permission.
The architecture is modular by design. The same Medusa backend can power as many frontends as you want — a Next.js storefront, a separate B2B portal, a mobile app down the line — and every one of them reads from the same catalog, the same inventory, the same customer records. Pricing rules, customer groups, and sales channels are first-class concepts in the system, not bolt-ons.
For a brand with B2C, B2B, and admin needs sharing one product catalog, that's the architecture you'd draw on a whiteboard if you were starting from scratch. Medusa just happens to ship with it.
We built three interfaces on a single Medusa backend.
The storefront is the public-facing site. Retail customers browse, add to bag, check out. Built on a modern React stack, mobile-first, with the polish you'd expect from a fashion-house client — fluid typography, considered transitions, a search dialog and bag dialog that feel native rather than templated.
The wholesale portal is what changed how the business actually runs. B2B clients log in with their own credentials, see their own pricing through Medusa price lists, and get minimum-quantity rules enforced at the cart level. Where they used to email an order in and wait for confirmation, they now place it themselves and the team gets notified the second it lands. The whole back-and-forth that used to live in inboxes now lives in one ledger.
The admin dashboard is where the team manages everything — products, inventory, orders, pricing, the lot. One backend, one interface, one place to look. No more reconciling a Shopify export against a wholesale spreadsheet against a notepad on someone's desk.
If there's one part of the build worth dwelling on, it's this one.
Wholesale software is its own genre, and most of it is ugly. The challenge wasn't the data model — Medusa handles customer groups and price lists out of the box. The challenge was making the experience feel as considered as the consumer side. A wholesaler logging in to place a bulk order should feel like they're using a tool built for them, not a retail site with a coupon code stapled on.
That meant designing the wholesale flow as its own product. Its own onboarding, its own dashboard, its own constraints communicated clearly — minimum quantities surfaced before the cart, not after. Account-level pricing visible at a glance, not hunted for. We wired in Resend for the notifications layer so that every status change — order placed, order accepted, order shipped — triggers a clean transactional email to the right people. Both sides know where things stand at all times.
The result is that the studio's clean-interfaces principle — the thing we apply to every storefront we build — got applied to the boring half of the business too. That's where we think the work matters most.
Most ecommerce builds either ignore ERP integration entirely or bolt it on as a panicked afterthought. We did the opposite.
In the discovery phase, before any design work started, we evaluated which ERP made sense for Harry George's operations and which one played nicest with Medusa. We wanted compatibility to be a deciding factor, not a fix-it-later problem. We landed on a recommendation that integrates cleanly with the Medusa backend, which means the inventory, orders, and customer data flowing through the storefront and the wholesale portal can speak directly to the system the team uses to run the rest of the business.
This is the kind of decision that doesn't show up on a website but determines whether the website is a tool or a tax.
A real signature of how we work shows up in the corners of the site.
Take the gift card. We built it in pure CSS — the card slides into an envelope, the envelope closes, the whole thing feels physical and considered. It carries the Maisōn Harry George branding, it's lightweight, it's interactive without being heavy. We could have used a video. We could have shipped a generic e-card component. Instead we built something that feels like the brand, runs fast, and shows the kind of detail that separates a polished site from a templated one.
Lottie animations across the site change colour based on the background they sit on. Fluid sizing means the layout doesn't break at awkward widths. Page transitions are tuned, not stock. A search dialog and a bag dialog that respond at the speed your hand expects.
These are not features anyone briefs you on. They're the things you ship because the alternative — fine — is the thing the rest of the internet is full of.
We work in a sea of sameness. Most ecommerce sites today look the same, move the same, and break in the same places. The competitive edge for any brand worth building isn't features — it's the combination of speed and experience. Speed is engineering. Experience is design. Most agencies are good at one and outsource the other. Hooman exists because we think you have to do both, in the same room, on the same project, from the first conversation.
For founders thinking about a build like this, that's the real takeaway. The framework and stack you pick on day one decides what you can ship on day eight hundred. Get the right insight into what you actually need — not just for launch, but for the version of the business you'll be running in three years — and pick the tools that won't fight you when you get there.
If you're building something serious, build it on something serious.
The site launched in April 2026 after a build that ran from discovery in late September 2025 through development sign-off in mid-April. Sixty-five tasks across design, development, and post-launch. A few revisions, a lot of detail work, and a backend that's quietly waiting for whatever the brand wants to ship next.
The mobile app the client teased? The architecture is already ready for it. New sales channels, new markets, new customer types — same backend, same catalog, same source of truth. That's the whole point.