Tech stack for a two-sided marketplace (2026)
Vintage furniture marketplace, designed by StackPrism from one sentence: 11 components, a reason for each, and the live checks that watch them.
The stack
Next.js
Node.js
- Inngest
Supabase
Stripe
Clerk
Meilisearch
Resend
Sentry
“A marketplace for vintage furniture. Sellers list pieces with photos, buyers search and pay online, we take a commission and pay sellers out, and buyers can message sellers.”
Make it yours. Open this stack in the editor to check its health, harden it and hand it to your coding agent. No sign-up, nothing to generate.
Start from this stackSelect a component to see what it does and what it connects to, or pick one above to see what breaks if it goes down. Pinch or use the buttons to zoom.
Why this stack
Buyers and sellers share one Next.js app on Vercel, backed by a Node.js API that owns listings, orders and commission in Supabase PostgreSQL. Listing photos go to Supabase Storage, and messages between buyers and sellers arrive live through Supabase Realtime. Stripe takes payments and pays sellers out, Meilisearch handles search and filters like style, era and price, and Clerk handles sign-in. Inngest runs the slow work, such as indexing new listings and sending order emails through Resend, so checkout never waits on it. Sentry reports errors.
Why each piece
All 11 components on the diagram: what each one does, what it talks to, and what stops if it goes down.
Next.js Web App
In Vercel
Buyer seller UI. Calls Node.js API Service, Supabase Realtime (subscribes) and Sentry (reports).
Nothing else on the diagram depends on it.
Node.js API Service
In Backend Services
Marketplace logic. Calls Supabase PostgreSQL (queries), Supabase Storage (stores), Sentry (reports), Meilisearch (indexes), Stripe (processes), Clerk (verifies) and Resend (sends). Called by Next.js Web App.
If it goes down, 1 of 10 components stops working.
Inngest Workflows
In Backend Services
Async automation. Calls Meilisearch (indexes) and Resend (sends).
Nothing else on the diagram depends on it.
Supabase Realtime
In Data & Storage
Conversation sync. Called by Next.js Web App (subscribes).
If it goes down, 1 of 10 components degrades.
Supabase PostgreSQL
In Data & Storage
Marketplace records. Called by Node.js API Service (queries).
If it goes down, 2 of 10 components stop working.
Supabase Storage
In Data & Storage
Listing photos. Called by Node.js API Service (stores).
If it goes down, 1 of 10 components degrades.
Stripe
In External Services
Payments payouts. Called by Node.js API Service (processes).
If it goes down, 1 of 10 components degrades.
Clerk
In External Services
Authentication. Called by Node.js API Service (verifies).
If it goes down, 2 of 10 components stop working.
Meilisearch
In External Services
Catalog search. Called by Node.js API Service (indexes) and Inngest Workflows (indexes).
If it goes down, 2 of 10 components degrade.
Resend
In External Services
Transactional email. Called by Node.js API Service (sends) and Inngest Workflows (sends).
If it goes down, 2 of 10 components degrade.
Sentry
Error tracking. Called by Node.js API Service (reports) and Next.js Web App (reports).
If it goes down, 2 of 10 components degrade.
When this stack fits
- Buyers pay you and you pay sellers out, minus a commission, all through Stripe.
- Search with filters (style, era, price) is how buyers find things.
- Buyers and sellers need to message each other inside the app.
When to pick something else
- You sell your own stock rather than other people’s: the e-commerce store example is simpler.
- Sellers are large shops with their own inventory systems: you’ll need catalog imports and seller APIs, which this diagram doesn’t include.
What you need to build this
11 components across 10 areas of the stack.
Build it with your AI agent
Hand the stack to Claude Code, Codex, Cursor or any coding agent as a brief: how it connects, install steps and a build plan.
Frontend1
- Docs
Next.js Web App
Buyer seller UI
npm install next
Backend & APIs2
- Docs
Node.js API Service
Marketplace logic
Inngest Workflows
Async automation
Data1
- Docs
Supabase PostgreSQL
Marketplace records
npm install @supabase/supabase-js
Cache & queues1
- Docs
Supabase Realtime
Conversation sync
npm install @supabase/supabase-js
Auth1
- Docs
Clerk
Authentication
npm install @clerk/nextjs
Payments1
- Docs
Stripe
Payments payouts
npm install stripe
Email & messaging1
Resend
Transactional email
Search1
- Docs
Meilisearch
Catalog search
npm install meilisearch
Storage & CDN1
- Docs
Supabase Storage
Listing photos
npm install @supabase/supabase-js
Observability1
- Docs
Sentry
Error tracking
npm install @sentry/nextjs
Install
npm install next @supabase/supabase-js @clerk/nextjs stripe meilisearch @sentry/nextjs
SDKs only. Pick your own database driver or ORM.