Thriftverse

Building a Multi-Tenant Marketplace for Thrift Sellers

How I designed a platform where every seller gets their own branded storefront while sharing a common marketplace infrastructure.

The Problem

Thrift sellers needed a platform that gave them individual branding and independence — not just another listing on a giant marketplace. The challenge was building a multi-tenant architecture where each store feels unique while sharing the backend infrastructure for scalability.

Product Architecture

The platform uses a multi-tenant architecture with dynamic subdomains. Each seller's store is rendered from a shared Next.js application but styled and populated with their unique data from Supabase. Products, orders, and store settings are isolated per-tenant using row-level security policies.

Key Technical Decisions

Supabase with Row-Level Security

Enables multi-tenancy at the database level without complex middleware, keeping costs low and queries fast.

Dynamic routing with Next.js

Each storefront gets a unique URL using dynamic route segments, providing a branded experience without separate deployments.

Stripe Connect for payments

Handles marketplace payment splits between platform and sellers without building custom payment infrastructure.

Lessons Learned

01

Multi-tenant data isolation is critical from day one — retrofitting RLS policies is painful.

02

Seller onboarding UX is as important as buyer UX — if sellers can't set up their store in under 5 minutes, they drop off.

03

Start with a simple storefront template and iterate — don't over-customize before validating demand.

Future Vision

Expand into a full thrift ecosystem with seller analytics, buyer wishlists, and a discovery feed that surfaces unique finds across all storefronts.

Explore Thriftverse

See the full product — features, tech stack, and the problem it solves.

View Product