For management, board members, and organization.
Singers only interact where necessary — everything else runs through clear processes and shared links.
A single workspace for planning, communication, and project status — even with multiple ensembles.
Keep projects, concerts, and rehearsals organized in a clear structure.
Each voice sees exactly what they need.
Minimal, fast, yet complete enough for real rehearsal work.
The platform lets ensemble leaders and singers manage choirs, projects, repertoire, and singer profiles, from sign-up and onboarding through invites and project creation.
Worked with the team on auth and data-model requirements, schema consolidation, and iterating on redirect and onboarding flows for production and security.
Built server-side logic and API routes with Next.js and Supabase (PostgreSQL) for a flexible, scalable database, with Row Level Security (RLS) for multi-tenant access.
Built an API for ensemble and project data, person and membership records, magic-link auth, and singer invite/onboarding.
Implemented secure auth with magic-link sign-in via Resend, middleware-based route protection, and RLS so users only see data for their ensembles.
Implemented the singer onboarding flow: magic-link delivery, post-sign-up redirects, and optional voice on join.
Turned on RLS on relevant public tables and added policies (e.g. persons and membership read per ensemble) for tenant isolation.
Replaced many legacy migrations with a single full core schema migration to simplify deployment and history.
Integrated Resend for magic-link emails and configured redirect URLs so auth works in production on Vercel.
Deployed and stabilized the app on Vercel (Node 20.x, edge-safe middleware, auth callback) and reduced duplicate API calls for better performance.