Dinner dating CRM
GatherOS
[LIVE_BETA][STABLE]
Multi-tenant ops system for singles-event hosts: tickets, profiles, seating, matching, and participant CRM in one place.
Date
Role
Full-stack build for a client, from product planning to launch.
Tech Stack
Next.js 14ReactTypeScriptTailwind CSSPostgreSQLPrismaStripe Checkout + webhooksResendVercel BlobVercel
Product Surfaces






The Problem
A dating event business was running tickets, profiles, and seating across spreadsheets, with no clean path from ticket purchase to a seated table.
What Shipped
- Event ops CRM: create events, sell Stripe tickets, manage waitlists/attendance, and run check-in
- Participant directory: CSV import, filters (age, gender, language, events attended), bulk approval, full profile history
- Matching & seating: generate table pairings from approved profiles; post-checkout / public form flows that keep event profiles filled in
- Org tooling: branded profile forms, email reminders, multi-org roles (SUPER_ADMIN / ADMIN / participant)
The Build Stack
Tools
- Next.js 14 App Router
- PostgreSQL + Prisma
- Stripe Checkout + webhooks
- Resend transactional email
- Vercel Blob
- Multi-tenant org roles
How it works
[FLOW] Ticket purchase (Stripe) → profile form → approval → event roster
[OPS] CSV import · waitlist · check-in · attendance
[MATCH] Generate seating / mixer groups from approved profiles
[DELIVER] Mutual match detection → automated intro emails
[STATUS] LIVE_BETA · client production use · Remnant Labs buildTechnical Friction
Building a reliable flow from Stripe ticket purchase to approved profile to seated table, across multiple organizations with separate roles.
Outcome
In active use by the client, with ongoing improvements.