Case study · Workforce management
rota_web
A staff rostering, time & attendance and payroll platform for UK residential care homes — covering employee records, drag-and-drop shift scheduling, time logging and UK-statutory payroll reporting across every Home, Unit and Department.
Role
Senior UI Engineer
Focus
Scheduling UI
& dashboard charts
Stack
Angular · PrimeNG
FullCalendar
Industry
Workforce management
UK care homes
3-tier
Home → Unit → Department hierarchy spans every care home site the business operates.
Live coverage
"Who's On" and "Who's Not Arrived" give safety-critical, real-time shift visibility.
18 actions
A granular feature × permission × role matrix covering every rostering action.
UK payroll
NI numbers, holiday accrual and 4-weekly payroll periods built into the core model.
The problem
Care homes need to know who's actually on shift right now, not just who was scheduled — and every hour logged has to reconcile against UK statutory payroll rules.
The system needed drag-and-drop shift allocation across multiple Homes and Departments, a feature × permission × role matrix fine-grained enough for real operational control, and payroll reporting that matched UK 4-weekly pay periods with regular, overtime and holiday hour breakdowns.
What it does
Drag-and-drop rostering
FullCalendar-powered shift allocation, auto-allocation and shift swaps across every site.
Live shift coverage
"Who's On" and "Who's Not Arrived" reporting for safety-critical staffing visibility.
Time & attendance
Clock in/out logging with approval and regularization requests tied to scheduled shifts.
UK-statutory payroll
Regular, overtime and holiday hours reported by current vs. prior 4-weekly pay period.
Holiday accrual
Accrual vs. Fixed, Days vs. Hours — matching UK statutory holiday entitlement rules.
Permission matrix
Fine-grained access across add/edit/delete/publish/commit actions, by role and feature.
Try it
A live scheduling calendar
A simplified version of the rostering pattern used across rota_web, built on FullCalendar. Switch between month, week and day views and page through dates to see how the toolbar and event rendering hold up.
My role
I worked as UI engineer on rota_web, focused on evaluating and building the scheduling interface that the whole product centers around, plus the reporting visuals that surface live coverage and payroll data.
- • Researched and evaluated the FullCalendar library for roster view customization, theming, multiple view options and print support
- • Implemented the interactive dashboard charts using Chart.js
Key decisions
Choosing the scheduling engine deliberately
The roster module is the largest single component in the app, so the calendar library it's built on had to be right before any UI was committed — I evaluated FullCalendar specifically for resource-timeline view customization, theming and print support, since coordinators needed to scan and hand off printed rosters.
A resource-timeline view for real staffing decisions
Care coordinators scan staffing across departments at a glance, so the roster centered on FullCalendar's resource-timeline view rather than a standard month/week calendar — matching how the job is actually done, not a generic scheduling widget.
Dashboard charts feeding off live roster data
Coverage and payroll-hours visuals needed to reflect the same data coordinators were scheduling against in real time — I built the Chart.js dashboard layer directly off the roster data model rather than a separate reporting snapshot.
Outcome
rota_web gives care home operators one system for staffing every Home — from employee records and drag-and-drop rostering through time logging to UK-statutory payroll, with live coverage reporting that keeps safety-critical staffing visible in real time.
Let's talk about your project