A multi-seller marketplace for teachers to sell digital resources and print-on-demand merch
A Teachers-Pay-Teachers rival where every teacher is their own payee.
A Teachers-Pay-Teachers rival where every teacher is their own seller, with Stripe Connect splitting each sale between platform and creator automatically and optional print-on-demand merch. The whole thing runs on a deliberately lean Django stack.
A look at the interface.
Representative UI — abstracted, never a client's real data.- Django
- PostgreSQL
- Meilisearch
- Celery
- Stripe Connect
- AWS S3
TPT dominates the teacher-resources market, so the bet was a better technical foundation with true multi-seller payouts. The core call was rejecting Django Oscar; plain Django on Postgres + Meilisearch handles millions of products without the complexity. From there the work was turning a single-seller storefront into a marketplace of independent payees.
How it
works
The core architectural decision was rejecting Django Oscar. Plain Django on Postgres + Meilisearch handles millions of products with far less complexity. Stripe Connect splits every sale between platform and creator automatically. Battle-tested pieces were lifted from a prior storefront and hardened into a marketplace: a circuit-breakered fulfillment adapter, idempotent orders, a token-bucket rate limiter.
What I built
(03) Inside the buildMulti-seller payments
Stripe Connect splits every purchase between platform fee and the selling teacher, with Connect onboarding per teacher. That split is the structural change that makes it a marketplace.
App-segmented architecture
Clean Django app boundaries for catalog, teachers, orders, accounts, and search. Celery/Redis handles async work and scheduled jobs.
Instant digital delivery + POD
S3 presigned downloads delivered on-page and via branded email, plus Printful/Printify physical merch with shipping webhooks.
The
receipts
- Live on a production cloud VM across seven managed services
- Documented architecture decision: plain Django over Oscar
- Stripe Connect split payments as the core differentiator vs TPT
- Reused a circuit-breakered, idempotent fulfillment adapter from a prior platform