Multi Retailer Ecommerce

EvoCart

Client: EvoCart

Client EvoCart
Industry Ecommerce
Duration 4 Months
Technologies
Next.js React Socket.io Node.js MongoDB

The Challenge

Evocart was built to solve a structural problem in multi-vendor commerce that no general-purpose e-commerce platform handles well: what happens when a customer wants to buy from multiple retailers in a single session. Most platforms treat each vendor as an island, which works fine until a marketplace tries to scale. The moment a cart holds products from more than one retailer, the experience fragments and revenue leaks.
Marketplaces operating at meaningful scale — think 40+ retailers and tens of thousands of SKUs — face a consistent and expensive pattern. Storefronts look unified on the homepage but break apart at the most critical moment: checkout. The marketplace promise collapses exactly where conversion matters most.
The pain points Evocart had to solve were structural, not cosmetic:
Mixed-retailer cart abandonment runs extreme — typically around 71%, roughly 24 points worse than single-retailer sessions. The more retailers a customer engages with on a legacy platform, the less likely the marketplace is to convert them.
Guest checkout collapses under session expiry, despite being the entry point for the majority of first-time buyers (often more than 60%). Cart state dies between address entry and payment, and customers walk away.
Shipping logic is spreadsheet-driven and unscalable — marketplaces commonly maintain one spreadsheet per retailer, with no central policy enforcement and no way to update rules consistently.
Partial refunds require manual cross-system reconciliation, burning operations hours every week and introducing financial error.
Settlement jobs double-run in clustered environments because cron tasks aren't pinned to a single worker — a quiet infrastructure failure mode that bleeds into financial reports.
Retrofitting unified checkout onto single-vendor platforms doesn't work. Marketplaces commonly spend two or more quarters trying to bolt this onto Magento or similar stacks before giving up. The underlying data model is the blocker, not the UI.
The pattern is consistent across multi-vendor businesses: roughly $200K per month in revenue gets lost to friction that has nothing to do with product, price, or marketing. Marketplaces don't need a better storefront — they need a platform where multi-retailer mechanics are the foundation, not a feature layered on top. That foundation is what Evocart provides.

Our Solution

Evocart was built around one architectural decision that defines everything else in the platform: orders are split at the data model, not at the UI. Other platforms can visually divide a cart on screen; only Evocart represents that split structurally in the database, which is what makes every downstream feature — fulfillment, refunds, retailer dashboards, settlement — actually function in a multi-vendor environment.
The platform stack is production-grade rather than prototype-tier: a Next.js 15 storefront on the front end, an Express and MongoDB backend, clustered across eight workers for horizontal scale, with Socket.io powering real-time features like live auctions and order status updates. A typical marketplace rollout runs about 11 weeks across three phases — catalog migration, unified checkout, and shipping and payments consolidation.
Catalog and retailer onboarding. Evocart includes a staging-table import pipeline with native support for Shopify and WooCommerce as source systems. Retailers keep their existing tools untouched and migrate through a controlled staging step rather than a rip-and-replace. A marketplace migrating 40+ retailers and 28,000+ SKUs can do so without forcing vendors off systems they already trust.
Unified checkout — the technical heart of the platform. Evocart's three-step cart flow (address, shipping update, place order) replaces the fragmented multi-checkout pattern that breaks marketplaces. The master-order model is what makes this work: one customer order is split server-side into per-retailer sub-orders, all linked by a shared master_id. The customer experiences one cart, one payment, and one tracking view. Each retailer sees only their own sub-order in their dashboard and fulfills independently. Guest and authenticated checkout paths share a unified React Query cache, which means cart state survives a mid-session login — historically the single largest drop-off point in marketplace funnels.
Two-tier shipping with policy control. Evocart's AdminShippingMethod model defines a global pool of shipping methods controlled by the marketplace operator, with per-retailer enablement managed through enabled_shipping_methods. Retailers retain rate flexibility within methods the operator approves. This replaces the per-retailer spreadsheet pattern with central enforcement plus vendor autonomy.
Unified payments and split settlement. Stripe handles processing with payouts split per retailer sub-order, so settlement matches fulfillment automatically. No manual reconciliation, no nightly batch fixes.
Real-time infrastructure that earns its complexity. Live auctions run over Socket.io at the /trace/ path, letting marketplaces fold limited-drop events into the main platform rather than running separate systems with separate logins. A real-time order status pipeline pushes state transitions (pending, in progress, shipped, delivered) directly to retailer dashboards via websockets, eliminating the polling that typically doubles dashboard load.
Infrastructure hygiene built in. Cron jobs are pinned to a single timezone and bound to the master worker only, eliminating the silent double-execution bug that plagues clustered marketplace deployments. On a typical eight-worker cluster, this fixes the settlement double-run that often runs undetected on legacy stacks.

Results & Impact

*Mixed-retailer cart abandonment drops 38% within six months of launch, falling from 71% to 44%
*Median checkout time cut from 4:12 to 2:38, with guest checkout conversion closing to within 3 points of authenticated checkout (previously a 19-point gap)
*Retailer onboarding time falls from 9 days to 2 days per retailer, and operations save 14 hours per week on shipping and refund reconciliation
*Checkout-tagged support tickets drop 52%
Scroll