Workforce Management Platform

Workforce Management Platform.

Long-term planning and day-to-day validation for a large attraction park, under one permissions model

Year.

2026

Employer.

Sagacify

Role.

Tech Lead

Context.

A workforce planning and optimization platform for a large attraction park, covering two very different planning horizons. Long-term master plans define, for each service point and visitor slot, the opening hours, operating mode, and staffing needed. Day to day, a visitor forecast is combined with that master plan to decide which service points open, in what mode, and with what staffing, then reviewed and adjusted by directors, department managers, and point-of-service managers.

Challenge.

Own the project end to end, from gathering requirements through user and stakeholder meetings to designing the interfaces, the database architecture, and the full-stack implementation. Give admins, directors, department managers, and point-of-service managers the same screens, but let each one see and edit only what their role and their specific department or service point allow. Keep large, dense schedules usable, and let non-technical managers validate plans in the format they already work in: Excel.

Decisions & trade-offs.

  • Fine-Grained Access Control: Attribute-constrained roles via CASL, with a dedicated ability set per role (admin, director, department manager, point-of-service manager, plus a separate set for machine-to-machine calls), enforced from the same rules on frontend and API. The backend is the single source of truth: it computes what each user can see and do, and sends that down to the frontend, which never decides access on its own. Every user reuses the same screens, scoped automatically to what their attributes allow.

  • Performance at Scale: Large schedule tables virtualized on both rows and columns (TanStack Table + TanStack Virtual) so the view stays responsive as the number of service points, time slots, and staff grows.

  • Spreadsheets as the Interface: Excel treated as a first-class input and output for the two plan types (director plans and point-of-service plans): dedicated extraction and generation logic for each template, with validation before anything is imported, because the people validating day-to-day plans already work in spreadsheets.

  • Dual-Horizon Data Model: Designed and grew a large relational schema around the two planning horizons, so the same roles-and-attributes model could serve both without duplicating logic.

Result.

Shipped and running in production, with directors, department managers, and point-of-service managers all validating their plans through the same platform, each seeing only what their role and department allow.

Stack.

CASL for attribute-based permissions, TanStack Table and Virtual for large schedules, Fastify APIs on AWS.

TypeScript

React

Shadcn UI

Tailwind CSS

React Hook Form

TanStack

Zod

CASL

Fastify

Objection.js

Unit Testing

Keycloak

AWS

Terraform