HomeServicesMarketplace Development: Next.js, Stripe Connect & Sellers
Marketplaces · Multi-sided products
Marketplace Development: Next.js, Stripe Connect & Sellers
A marketplace is a multi-sided product: buyers, sellers, roles, onboarding, commissions, payouts, and the admin tooling that keeps it honest — not a Checkout session with two user types. I build those platforms on Next.js, PostgreSQL or Supabase, and Stripe Connect, including seller KYC, split payments, and often a React Native companion app. Dryva, a live courier and ride-hailing marketplace, is the production proof.
What marketplace development actually is
Founders searching for a marketplace developer are rarely asking for a payment plugin. They need a product with more than one kind of user, money moving between those users, and operations that don't collapse on day two: onboarding, booking or catalog, commission tracking, invoicing, and a way for the platform to step in when a seller stalls or a payout should not go out.
That is a different job from Next.js SaaS (one customer, one subscription) and a wider job than Stripe Connect integration alone (the money layer). Connect is necessary. It is not the marketplace.
The stack I ship
The briefs that convert — multi-sided products with real budgets — keep landing on the same combination: Next.js for the application, PostgreSQL or Supabase for tenancy and roles, Stripe Connect for onboarding and payouts, and often a React Native app for the side of the marketplace that lives in the field.
- Next.js App Router — buyer, seller, and admin surfaces in one typed codebase, server-rendered where SEO and first load matter, authenticated dashboards where they don't.
- PostgreSQL / Supabase — schema for orgs, roles, listings, orders, and commissions, with row level security so a seller query cannot read another seller's rows.
- Stripe Connect — Express or Custom onboarding, destination or separate charges, application fees, and webhook-driven status. Detail lives on the Connect page; this page is the product around it.
- Roles and permissions — buyer, seller, operator, admin, and any extra side (courier, venue, vendor) as first-class actors, not a boolean
is_seller. - Seller onboarding & KYC — create the connected account first, treat
account.updatedas source of truth, never mark a seller "live" because they hit a return URL. The production version is in Express onboarding and KYC. - Commissions, invoicing, payouts — your take rate modelled in the ledger, not only in
application_fee_amount, with payout timing that matches delivery and dispute risk. - Admin tooling — pause a seller, inspect outstanding KYC, reverse a transfer, refund a buyer, and see why a payout is held — without opening Stripe Dashboard for every ticket.
- Mobile apps — rider, courier, or seller apps through App Store and Play Store when the marketplace is not web-only. Dryva shipped a ride-hailing companion beside the courier web product.
Payments are not the product
A marketplace that "has Stripe" and still fails usually failed on everything around the charge: sellers who look onboarded but cannot be paid, commissions that don't match the ledger, no hold before payout, and no answer when card testing starts hitting a new connected account. Charge type and liability are covered in platform fees; the fraud and payout-risk layer is card testing, seller verification, and safe payouts.
If your marketplace brief is only "integrate Stripe Connect," you will get a payment flow. If the brief is buyers, sellers, roles, commissions, and payouts that survive a bad week, you will get a product.
Proof in production
I built Dryva, an on-demand courier and ride-hailing marketplace in Jamaica: tiered booking, parish-aware pricing, online payments, real-time tracking, proof of delivery, and a companion ride app. That is a multi-sided operation — customers, drivers, and the platform — not a single-vendor store.
The same Next.js and Postgres discipline shows up in SaaS and Supabase work. Marketplace engagements reuse it, then add Connect, KYC, and the operational surfaces those products don't need.
How we'd start
Send the sides of the marketplace (who pays, who gets paid, who operates), the take-rate model, and whether you already have a Next.js or Stripe prototype. I'll tell you whether the work is a greenfield v1, a Connect hardening pass, or a product that still needs roles and admin before payments should go live.
Typical scoped v1: schema and roles, seller onboarding, one happy-path checkout with commissions, webhook reconciliation, and an admin view for KYC and payouts. Mobile follows when the field side is the product. Send me the details and you'll get a straight sequence, not a stack dump.
Frequently asked questions
Proof: related case studies
- Dryva Courier On-Demand Delivery Platform — Full-stack delivery for Dryva Courier (dryva.online) — an on-demand courier brand in Jamaica powered by Dryv Group. The public site promotes fast, reliable package delivery with competitive pricing, seven-day service, real-time tracking, and secure online payments for residential and SME customers.
Related reading
- Stripe Connect Marketplace Fraud & Risk: Card Testing, Seller Verification and Safe Payouts
- Stripe Connect Express Onboarding and KYC: Status Handling That Doesn't Stall Payouts
- Stripe Connect Platform Fees: Destination Charges vs Separate Charges and Transfers
- Stripe Webhooks in Next.js: The Failure Modes Nobody Warns You About
Want this built for your business?
Tell me what you're trying to ship. I typically respond within 24 hours on business days.
Last updated Aug 17, 2026