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.

  1. Step 1

    Add the Supabase and app URL environment variables.

  2. Step 2

    Run the migration SQL and seed baseline event data.

  3. Step 3

    Configure Google OAuth redirect URLs.

  4. Step 4

    Open /login and continue into the admin dashboard.