Standalone Event App
Volunteer Roster keeps shifts, teams, training, exports, and printouts in one contained system.
Built as its own Next.js app for Supabase and Vercel. No parent-site theme bleed, no flat-file roster writes, and no admin-only data leaking into volunteer views.
Role-aware access
Admins, team leads, and volunteers share one auth surface with separate controls.
Roster-first workflow
Assignments, CSV exports, printable rosters, and quick mailto drafts stay close together.
Security defaults
SSRF checks, row-level security, CSV formula escaping, and allowed-origin handling are built in.
Example event scaffold
The app is reusable for future events. Change event settings, teams, shifts, and theme tokens instead of rebuilding the product.
Rangers
Paired roaming coverage for safety, wayfinding, and incident support.
Gate
Arrival support, check-in, and volunteer wristband handoff.
Sanctuary
Quiet-space hosting, welfare check-ins, and support escalation.
Volunteer profiles
Collect contact details, emergency contacts, availability, training status, and privacy reminders in one form-first screen.
Team and shift planning
Handle paired teams, training requirements, capacity, and roster lock dates without custom spreadsheets.
Print and email ops
Prepare daily rosters, team rosters, and BCC-only mail drafts for leads and admins.
Start sequence
The first live setup is intentionally short so the app can be reused for later events with minimal churn.
Step 1
Add the Supabase and app URL environment variables.
Step 2
Run the migration SQL and seed baseline event data.
Step 3
Configure Google OAuth redirect URLs.
Step 4
Open /login and continue into the admin dashboard.