Book a 30-min call
$ cd ~/projects/saas-marketplace-platform agent.shipped · in production

Marketplace
From Zero.

Zero to $4.2M GMV in six months. We built a Next.js 15 +
React 19 marketplace on Vercel Fluid Compute, on top of Stripe
Connect with Smart Retries, Stripe Tax and Adaptive Pricing,
for 200+ vendors selling subscriptions — onboarding, split payouts,
upgrades, pausing and retention flows all live on day one.

  • Home
  • Multi-vendor SaaS marketplace platform
SaaS marketplace platform interface

Multi-vendor SaaS marketplace platform

Industry
SaaS / eCommerce
Timeline
14 weeks
Key result
50K+ MAU, $4.2M GMV
Tech stack
Next.js 15 (App Router, Server Actions, PPR), React 19, Stripe Connect + Smart Retries + Tax + Adaptive Pricing, WorkOS / Auth0, PostgreSQL on Neon, Drizzle / Prisma, Tailwind + shadcn/ui, Vercel Fluid Compute

Two-sided marketplaces are hard to bootstrap: vendors won’t join without buyers and buyers won’t come without vendors. We had to open both sides at once, and the subscription billing had to handle upgrades, pausing and retention flows from the first day.

We shipped a Next.js 15 + React 19 storefront on Vercel Fluid Compute (Server Actions + Partial Prerendering for personalised pages), with Stripe Connect handling onboarding, split payouts, subscription lifecycle and tax — plus Stripe Smart Retries, Stripe Tax and Adaptive Pricing tuned to the marketplace mix. WorkOS handles enterprise SSO, Drizzle + PostgreSQL on Neon hold the catalog. Six months in: 50K+ MAU, 200+ vendors, $4.2M GMV.

Technical Approach
  • Stripe Connect at the plumbing layer — Stripe Connect gives you the primitives, not the product. We owned the marketplace-specific work on top: subscription-lifecycle mechanics (pauses, mid-month proration, upgrades across vendor-specific pricing tiers), Stripe Smart Retries on declines, Stripe Tax for global VAT/GST, and Adaptive Pricing across currencies — so vendors never touch Stripe themselves.

  • Multi-tenant by design — Auth0 with custom claims gives us marketplace admin, vendor admin, vendor staff and buyer roles. Each vendor sees their own isolated dashboard and payout history, nothing more.

  • Storefronts at the edge — Next.js 15 with React 19, Server Actions and Partial Prerendering on Vercel Fluid Compute serves personalised storefronts close to the buyer. Drizzle + PostgreSQL on Neon handles the catalog, pricing tiers and order model underneath.

  • Retention as a feature — Cancellation flows with save offers, pause options and win-back sequences. Churn dropped 18% in the first quarter from the cancel flow alone, and vendor dashboards show live MRR, churn and LTV.

What was actually hard

Two-sided marketplaces mean solving two problems in parallel: vendors need fast onboarding and clean payouts, buyers need a checkout that handles upgrades, pausing and retention. Stripe Connect gives you the primitives, not the product. The subscription layer — marketplace splits, vendor-specific pricing, automated dunning — was all custom, and it had to feel effortless on both sides of the table.

eCommerce platform development

Project Outcome

The marketplace crossed 50K MAU and 200 vendors in six months, with $4.2M of GMV flowing through Stripe Connect at a 98.5% payment success rate. Vendor onboarding takes under 10 minutes, and the cancel-flow with save-offers and pause options pulled churn down 18% in the first quarter — without the founders ever opening Stripe themselves.

> 50K+ monthly active
users
> 200+ onboarded
vendors
> 98.5% payment
success rate
> $4.2M GMV in
6 months
Marketplace online purchase flow
eCommerce checkout and payment flow
Next.js 15React 19Server Actions + PPRStripe ConnectStripe Smart RetriesStripe TaxStripe Adaptive PricingWorkOSPostgreSQL on NeonDrizzleTailwind + shadcn/uiVercel Fluid Compute

“We went from zero to $4.2M GMV in six months. The subscription management alone — upgrades, pausing, retention — would have taken us a year to build ourselves.”

@ Marcus W.

CEO — Financial Analytics Platform

Modern SaaS workspace and technology
  • [Next.js 15] PPR
  • [React 19] Server Actions
  • [Stripe Smart Retries] billing
  • [Stripe Tax] global
  • [Vercel Fluid] compute
  • [Drizzle + Neon] data