How Do You Develop a Marketplace? Lessons From Seven
The marketplace build process from an agency that runs seven of its own: supply first, payments, vendor onboarding, search, disputes, and the mistakes how-to guides miss.
Develop a marketplace in this order: recruit your initial sellers manually; map the transaction loop end to end; blueprint payments and connected onboarding before you polish UI; build a lean MVP around listing, discovery and checkout; then harden trust, disputes and moderation before you spend hard on demand. Everything else is sequencing theatre. After building 50+ marketplaces over 15 years and operating seven on our own balance sheet - Costhetix, Kinurture, BigSleep, WorkVans, Sponsorfy, Away Pubs and Jollee - that supply-first sequence is the only one that consistently survives contact with real vendors and real money.
Start with supply, not software
Before anyone opens Figma, answer: who lists on day one, why they bother, and what “good enough” inventory looks like. Demand marketing cannot fix an empty grid.
Operator checks we run before we write a line of product code:
- Can you manually recruit the first cohort without the product?
- What does a quality listing require (photos, compliance, pricing rules)?
- What takes a vendor from curious to live in under an hour?
- What category boundaries stop the catalogue turning to junk?
- Who owns support when a seller’s first payout is late or wrong?
If you cannot name twenty sellers who would list next week with a spreadsheet and a WhatsApp group, you are not ready to build. The product should remove friction from a motion that already works by hand - not invent demand by launching a pretty shell.
Vendor onboarding is supply work wearing a product face. Forms, verification, draft states, listing quality rules and admin review decide whether inventory ever shows up. Dumping a spreadsheet into an admin panel and hoping sellers self-serve is not a cold-start plan. We treat the first-hour vendor path as part of the commercial model, not a polish ticket after launch.
Niche focus helps - more on that in niche marketplaces. Breadth feels ambitious; depth creates liquidity. A tight geography or a tight category with dense inventory beats a national empty shell every time we have tried both.
Map the transaction loop before you map the screens
A marketplace is a commercial loop with a UI attached. Write the loop in plain English before you draw wireframes:
- Seller creates a draft listing
- Listing passes quality or compliance gates
- Buyer discovers the listing
- Buyer commits (pay now, request quote, book slot - pick one primary path)
- Platform takes its fee
- Fulfilment happens (service, delivery, digital handoff, venue access)
- Payout reaches the seller on a known schedule
- Disputes, refunds and chargebacks have an owner
If any step is “we’ll figure it out”, you do not have an MVP scope - you have a wish. Across our own seven, the loops differ (aesthetic appointments, vehicle hire, sponsorship packages, funeral-adjacent services, pub match days) but the discipline does not: one primary path to a trusted transaction, then Evolve.
Map also kills vanity sides. Brokers, sub-accounts, white-label partners and internal approvers each multiply permissions, notifications and admin. Add them when liquidity proves the need. Launching five-sided on day one is how teams burn the Blueprint band before a single seller is live.
Blueprint payments and connected onboarding early
Marketplace payments are not “add Stripe”. Connected accounts, take rates, payout timing, refunds and dispute ownership shape onboarding screens and admin. Decide the Connect model in Blueprint, not after vendors exist. We keep a dedicated note on Stripe Connect for marketplaces.
Destination charges vs direct charges
In operator language: who is the merchant of record on the charge, and how does the platform take its cut?
Destination charges (common on marketplace launches we run): the charge is created on the platform and funds are routed to the connected account, with an application fee for the platform. You keep a clear story for buyers (“you paid us, we pay the seller”) and a clean admin path for refunds initiated from the platform side. It suits categories where the platform brand is the trust surface.
Direct charges on the connected account: the seller is closer to the merchant of record; the platform still takes an application fee. That can fit stronger seller brands or categories where sellers already hold customer relationships. It changes what buyers see on statements, how refunds feel, and what your support scripts must say.
Neither is “more advanced”. Wrong choice relative to your trust model means rewriting onboarding, emails and admin after supply already exists. Blueprint the charge type next to the take-rate sketch, not as a weekend plugin decision.
Payout timing is product, not finance trivia
Sellers care about when money arrives more than about your homepage animation. Decide and publish:
- When a charge becomes eligible for payout (after fulfilment? after a hold window? immediately on capture?)
- Rolling payout schedule vs manual release for new sellers
- What happens on partial refunds mid-schedule
- How failed bank details surface in seller admin before the seller panics in your inbox
We run delayed eligibility on categories with high dispute risk and faster schedules where fulfilment is crisp and chargebacks are rare. The software must expose the state machine; support must be able to explain it in one sentence. Opaque “processing” without a date is how you lose supply after the first good week.
Webhooks are the nervous system
Card success in the browser is not the source of truth. Webhooks are. At minimum you need reliable handling for:
- Account updated / requirements due (sellers stuck in verification limbo)
- Payment intent succeeded / failed / cancelled
- Charge refunded and refund updated
- Dispute created / funds withdrawn / funds reinstated
- Payout paid / payout failed
- Capability changes that quietly disable charges or transfers
Idempotent handlers, signed secret verification, replay-safe storage of event IDs, and an admin view of “last webhook received / last processing error” are not optional polish. They are how you notice a broken Connect wiring on a Tuesday instead of when a seller screenshots their bank app on a Saturday. On our own platforms, webhook monitoring sits next to uptime checks for that reason.
Express vs Standard vs Custom Connect accounts is not a checkbox either. It changes what vendors see, what you hold, and what admin must expose. Get it wrong and you rewrite onboarding after you already have supply.
Build a lean MVP around listing, discovery and checkout
Once supply is plausible and payments are blueprinted, cut the MVP to the transaction loop:
- Accounts and roles for both sides
- Listing create / edit / publish with draft states
- Discovery good enough to find a listing
- The path to a paid or committed transaction
- Admin to moderate, pause, edit and see payout/dispute state
Everything else - wishlists, complex gamification, five notification channels, premature native apps - waits. We sequence Map → Blueprint → Build → Harden → Launch → Evolve so commercial truth lands before UI expands. Senior developers direct agents through Build at the 5x pace / half-cost framing we use studio-wide; Harden stays paranoid about money and trust.
Map is where we kill vanity features. Blueprint locks the fixed band, architecture and payment model before anyone burns weeks on screens that do not close a loop. Build ships the loop. Harden stress-tests refunds, disputes and permission edges. Launch is go-live with monitoring, not a press release. Evolve is where real liquidity data tells you what to add next.
Cost detail lives in the pillar: how much it costs to build an online marketplace. Platform choice (Sharetribe vs custom) is covered in Sharetribe vs custom.
Search architecture that survives volume
Clone scripts demo search; real marketplaces operate search. In our experience the durable pattern is:
- Structured attributes on the listing - category, geo, price bounds, availability windows, compliance flags - stored as first-class fields, not buried in free text
- Faceted filters that cannot lie - empty result sets must explain which filter killed the match; facets should reflect actual inventory, not a static checklist
- Ranking policy as admin-owned config - freshness, completeness score, fulfilment reliability, manual boosts for curated supply; not a mysterious black box
- Synonyms and category aliases - buyers search the language they know; sellers list in the language they use; without a bridge, liquidity dies in the gap
- Geo and availability as equal citizens - a van with the wrong dates, a practitioner outside the catchment, a sponsorship package you cannot filter by sport: those are product failures dressed as “search bugs”
At small volume, Postgres filters and careful indexes can be enough. As catalogue and query complexity grow, many of our builds introduce a search document projection (often Elasticsearch or OpenSearch-shaped) updated from listing lifecycle events. The projection is derived data: the listing record remains the source of truth; search lag is monitored; reindex is a rehearsed ops path, not a heroics weekend.
Ranking that rewards quality listings is admin policy plus engineering. Skip the policy and you train sellers to game whatever accidental default you shipped.
Harden trust: verification tiers, disputes and moderation
Pretty listing cards do not compensate for “where is my money?”. Sellers will forgive a plain interface. They will not forgive opaque payouts or a take rate they did not understand at signup. Trust UI matters as much as rails: verification states, clear fee copy, visible order status.
Seller verification tiers
Treat verification as a ladder, not a binary badge:
- Tier 0 - draft seller: can edit drafts, cannot publish or receive payouts
- Tier 1 - identity light: email/phone verified, basic profile complete, can publish in low-risk categories with manual review
- Tier 2 - payout ready: Connect onboarding complete, bank details valid, charges and transfers enabled
- Tier 3 - trusted: sustained clean fulfilment, lower review friction, possibly faster payout eligibility
KYC/KYB friction belongs on the ladder in categories that need it - do not surprise a seller with a dead-end requirements wall after they invested in photography. Surface “what’s blocking you” in seller admin with deep links into the Connect-hosted or embedded onboarding flow. Admin must be able to see requirement errors without asking engineering to dig in Stripe’s dashboard.
Dispute and moderation tooling
Refund and chargeback ownership has to be written down before the first disputed order. Who initiates? Who eats the fee? What does the buyer see while it is open? Those answers change admin screens and email copy. Leaving them until production is how you ship a liability dressed as a launch.
Build admin for the jobs ops actually do:
- Pause a listing or a seller without deleting history
- Freeze payouts pending investigation
- Open an internal case linked to order, payment intent and Connect account IDs
- Record evidence notes and buyer/seller messages in one thread ops can hand over
- Apply category or keyword moderation queues for new listings
- Audit who changed take rate, verification tier or payout eligibility
Moderation gaps trash quality faster than slow marketing can refill the grid. Content rules (photos, prohibited items, claim language) need draft rejection reasons sellers can act on. Silent “pending” with no feedback is how good sellers churn.
We also instrument support load early: payout questions and failed verifications dominate early inboxes on every marketplace we run. Software does not answer Slack at 9pm; people do, or a support tier does. Client retainers on our side start at £495/month when they want a named team on that stack after launch, with fixed change scopes priced before work starts outside the tier. New build work carries a 90-day warranty; after that, care is how the product stays healthy.
Launch narrow, then earn the right to widen
Features we have safely deferred: fancy feeds, deep social graphs, premature mobile apps.
What actually kills marketplaces, from our seven:
- No supply density in the first category
- Take rates that insult vendors before value shows up
- Payout confusion
- Moderation gaps that trash quality
- Building for everyone in month one
- Search that cannot express how buyers actually choose
Liquidity work is ops and relationships. Code supports it; code does not replace it. Seed a tight geography or category until matching feels inevitable, then widen. A national empty shell looks impressive in a deck and dies quietly in analytics.
Instrument the funnel from visit → listing view → start checkout → paid → fulfilled → payout early. Without those events you will argue about homepage taste while the leak sits in discovery or Connect onboarding drop-off.
Disadvantages and failure modes get an honest sibling: marketplace disadvantages.
What we’d do differently after seven of our own
- Seed supply before public launch, every time
- Decide charge type, fee copy and payout timing in Blueprint, every time
- Instrument the funnel from visit → listing view → transaction earlier
- Treat admin as a primary interface, not an afterthought
- Prefer a narrow category win over a national empty shell
- Put webhook and payout monitoring next to uptime from day one
- Put support routes in place on day one
We would also argue harder against “just ship mobile first”. A marketplace app is another client on the same API. The hard problems stay on the server - trust, payments and supply quality. Get the web loop working, then add surfaces.
How to develop a marketplace?
Develop a marketplace by securing first supply, mapping the transaction loop, deciding payments and connected onboarding early, cutting MVP to listing/discovery/checkout, hardening verification, disputes and moderation, launching narrow, then evolving from real liquidity data. Tools come after that sequence - not before.
Is it hard to build a marketplace app?
Yes relative to a brochure app, because shared state, payouts and trust flow across clients. It is manageable when the domain model and API already exist; painful when mobile is asked to invent the marketplace alone.
How much does it cost to start an online marketplace?
In the UK, lean MVPs often sit around £15k-£30k in the wider market, with payments-heavy multi-vendor work commonly £30k-£75k+ and deeper programmes higher still. Our build cost is a fixed band after Blueprint, fixed change scopes priced before work starts, with agentic delivery holding the band at roughly half a traditional agency quote for the same scope. Full ranges live in the marketplace cost pillar.
If you want that operator sequence applied to your category, the door is marketplace development - we will argue about supply before we argue about stack.