Shift Scheduler is deployed on Render’s free plan. The service may spin down after inactivity, causing a brief cold-start delay on first load.
Key capabilities
Events
Create and manage events with a real-time dashboard showing fill rates, attendance counts, and volunteer distribution.
Volunteers
Build a volunteer database with group affiliations, max-hours limits, contact info, and bulk CSV import.
Assignments
Manually assign volunteers to shifts or use Auto-Assign to fill open slots automatically, with conflict detection to prevent double-booking.
Kiosk
A tablet-friendly self-service check-in interface for on-site use. Volunteers search by name to check in and out.
Assets
Manage a pool of equipment (radios, vests, keys) and track which volunteer has each item during a shift.
Reports
Export volunteer schedules, sign-in sheets, and attendance data as CSV or PDF.
Architecture
Shift Scheduler uses three main layers:| Layer | Technology | Purpose |
|---|---|---|
| Frontend | Next.js 16 (App Router) | Admin dashboard, kiosk UI, and all user-facing pages |
| Database & Auth | Supabase (PostgreSQL) | Data persistence, Row Level Security, and user authentication |
| Scheduling Engine | Go Scheduler API v2.1 | Stateless HMAC-authenticated service that computes optimal volunteer-to-shift assignments |
@ducanh2912/next-pwa, which generates a manifest.json and service worker for add-to-home-screen support on mobile and tablet devices.
Free plan note
The hosted version runs on Render’s free service tier. This means:- The web service sleeps after 15 minutes of inactivity.
- The first request after inactivity may take 30–60 seconds to respond while the container wakes up.
- There are no uptime guarantees on the free tier.