Collect everything, pay out later
Separate charges and transfers: the platform collects the full amount and transfers to each organiser in batches from the admin panel, so fees, refunds and disputes don't depend on each connected account.
Got a process that lives in a spreadsheet, a WhatsApp group and someone's head? That's exactly the kind of problem I like to solve.
Multi-tenant ticketing platform. Selling access to a 2,000-attendee event in November 2026.

Party and event organisers who sell their own tickets. Each one gets a store on their own subdomain, takes payments through Stripe and checks people in at the door with a phone. The platform collects the full amount and pays out later, so fees, refunds and disputes are handled in one place.

Separate charges and transfers: the platform collects the full amount and transfers to each organiser in batches from the admin panel, so fees, refunds and disputes don't depend on each connected account.
When tickets go on sale, a Lua script in Redis atomically decides who gets in: it clears expired sessions, counts free slots and lets the next batch through at once. Postgres never sees the spike.
Sensitive operations carry an idempotency key with SET NX in Redis: a retry never does the work twice, and the database is spared the pressure.
An organiser's queries go through a Prisma client scoped to their tenant, so a forgotten filter can't leak someone else's data.