All work

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

rota_web rostering interface

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.

Open the demo in a new tab ↗

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