Collab
Needs inputNext.js and Supabase, deployed on Vercel.
Lead with: The data model and architecture on Supabase.
The technical problem
Companies currently find creators through directories or LinkedIn, then manage briefs, approvals, messages, and payment status across email, DMs, and spreadsheets — and creators face the same problem from the other side, with requests arriving outside any shared workflow or clear next action. Collab puts discovery, booking, delivery, communication, and payment tracking into one booking-specific flow.
Architecture / stack
Supabase Postgres models the whole booking lifecycle: profiles ties Supabase Auth users to a permanent company or creator role, workspaces and workspace_members model ownership with room for future teams, and company_profiles, creator_profiles, niches, and creator_niches support onboarding and marketplace discovery. campaigns belong to company workspaces, and bookings connect campaigns to creators while snapshotting the agreed rate, with deliverables, booking_messages, booking_payments, and booking_events tracking work, conversation, payment state, and audit history. Auth is Supabase email/password, with a database trigger creating the profile, workspace, and owner membership on signup; Next.js middleware protects authenticated routes and checks account role, while RLS and participant-scoped database functions restrict collaboration data to the booked creator and requesting company. Server Components use a cookie-aware Supabase server client for session checks and page data, Client Components call the Supabase browser SDK directly for interactive actions, and sensitive state transitions run through PostgreSQL RPC functions rather than API routes or Server Actions — there's no Realtime yet, so messages appear immediately for the sender but the other participant has to refresh or reopen the collaboration to see them.
The interesting decision
Workspaces and workspace_members exist even though the MVP has exactly one user per workspace. Linking everything directly to a user would have been faster to build, but adding company teams or creator agencies later would mean rewriting most ownership and authorization relationships — the extra joins now avoid a much larger schema migration later.
What shipped
The deployed product supports company and creator signup, persistent profile editing, creator publishing, and marketplace search with niche filtering, on top of structured collaboration requests: creators can accept requests, message the company, and submit a LinkedIn deliverable once funds are marked held, then confirm payment receipt, while companies track requests, mark funds deposited, review submitted work, and approve it to release payment. No real money moves through Collab yet — payment status is tracked manually, not processed.





