GATHEROS (Dinner Dating CRM)
GatherOS
Multi-tenant ops system for singles-event hosts: tickets, profiles, seating, matching, and participant CRM in one place.
Full-stack build for a client (product + implementation) — not a solo consumer product
Product Surfaces






The Problem
Dating-event / matchmaking businesses can run ticket → profile → roster → seating → mutual matches without living in spreadsheets and ad-hoc tools.
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
Logic Log
[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
A dating-events / matchmaking business was running events, contacts, payments, and seating across spreadsheets and ad-hoc tools, with no reliable path from ticket purchase → profile → approved roster → seated tables.
Outcome
Core product is live on Vercel and in active use with the client (imports, events, seating, participant CRM). Still iterating on edge cases (profile email defaults, token expiry, membership vs participant distinction).
[ OPEN LIVE PRODUCT ]