An intelligent workforce scheduler built for Alamo Drafthouse cinema operations. StaffClaw combines real-time seat map occupancy, movie popularity, weather forecasts, and historical staffing patterns to predict demand and generate optimized staff schedules.
This is an internal tool built for a specific Alamo Drafthouse location. It requires active employee credentials to access live data, so it cannot be self-hosted or used independently. This repository is public as a portfolio piece — feel free to explore the code and architecture.
Each employee sees a tailored view of their day — their shifts, station assignments, weekly schedule overview, and a Gantt-style timeline showing the entire crew on shift. Weather conditions and guest count forecasts are surfaced to help anticipate the pace of the day.
An auto-scheduling engine factors in demand predictions (movie showtimes, weather, day of week), employee availability patterns inferred from historical data, station certifications, and training status to generate staffing recommendations. Managers can compare auto-generated schedules against actual ones to identify coverage gaps and optimization opportunities.
Guest-to-staff correlation analysis, station-level regression, and day-of-week pattern detection help identify where the operation is over or understaffed. The system quantifies which factors (weather, showtimes, day of week) most influence actual demand.
Employees can pick up open shifts, offer their shifts for swap, or take back previously offered shifts — all synced with the existing workforce management system.
A skill matrix tracks every employee's certifications across all kitchen and front-of-house stations. Training progress is logged with day-by-day tracking from trainee to certified.
A digital replacement for the paper theater assignment sheet. Guest Attendants are assigned to Alamo's 11 theaters with section-level granularity, with auto-assignment suggestions based on theater capacity and showtime density.
Historical shift data is analyzed to infer availability patterns, preferred stations, and scheduling tendencies — giving managers insight into the team's natural rhythms when building schedules.
| Layer | Technology |
|---|---|
| Frontend | React 19, TypeScript, Vite, Tailwind CSS 4 |
| Backend | Node.js, Express 5, TypeScript |
| Database | PostgreSQL 17, Drizzle ORM |
| Auth | Session-based passthrough to workforce management system |
| External Data | Alamo Drafthouse showtime API, TMDb (movie metadata), Open-Meteo (weather) |
| Testing | Vitest — 438 tests across 21 test suites |
staffclaw/
├── client/ # React SPA
│ └── src/
│ ├── components/ # Layout, Sidebar, shared UI
│ ├── pages/ # Dashboard, Schedule, Employees, Demand, etc.
│ ├── contexts/ # Auth state management
│ └── services/ # API client layer
├── server/ # Express API
│ └── src/
│ ├── services/ # External API integrations, schedule generator,
│ │ # history analyzer, showtime poller, accumulator
│ ├── routes/ # REST endpoints
│ ├── models/ # Drizzle ORM schema & migrations
│ ├── middleware/ # Auth, data mode switching, error handling
│ ├── config/ # Position category mapping
│ ├── cron/ # Scheduled data collection (seats, weather)
│ └── mock/ # Full demo dataset
├── shared/ # TypeScript types shared between client & server
└── drizzle/ # Database migration files
Alamo Showtimes API ──→ Showtime Poller ──→ showtimes table ──┐
Open-Meteo ──────────→ Weather Fetcher ──→ daily_snapshots ├──→ Demand Model ──→ Schedule Generator
TMDb ────────────────→ Movie Enrichment ─→ movies table ──────┘
Workforce Mgmt System → Session Auth ────→ employees / shifts
The workforce management system is treated as the live source of truth for schedules and employee data. StaffClaw's local database serves as a warehouse for historical analysis and stores StaffClaw-specific data like theater assignments, training logs, and demand snapshots.
The app includes a full mock data mode that returns realistic demo data for every endpoint — no credentials, database, or external APIs required. This makes it possible to explore the entire UI and feature set without any setup.
- Accumulative data model — Schedule data is accumulated across employee logins rather than requiring a single bulk sync, building a richer historical dataset over time
- Configurable position mapping — Position categories (Kitchen, Bar, Front of House, etc.) are mapped in settings rather than hardcoded, accommodating organizational changes
- Role-tailored dashboards — The dashboard adapts based on the logged-in employee's role, and still shows useful information on days off using accumulated data from coworkers' sessions
- Dual data source — Each user session can independently operate in live or demo mode, allowing side-by-side comparison during development
- Toast POS integration — Pull actual guest counts and sales data for ground-truth demand modeling
- Mobile companion app — React Native app for employees to view schedules and manage shift swaps on the go
- Multi-location support — Expand beyond a single cinema to other Alamo Drafthouse locations
- ML demand model — Train on historical data to improve guest count predictions beyond statistical heuristics
- Schedule optimization tracking — Persist auto vs actual comparisons over time to measure scheduling improvement
Built by Mason Galusha as an internal tool to solve real scheduling pain points at Alamo Drafthouse Raleigh. The project grew from a simple schedule viewer into a full demand forecasting and workforce optimization platform.