Workforce Scheduling
Rota
A scheduling platform for creating and managing employee rotas. Built for small teams that need something faster than a spreadsheet and simpler than enterprise workforce software.

Weekly schedule view with employee assignments and shift management.
Overview
Rota is a scheduling platform for creating and managing employee rotas. It focuses on doing one thing well — making it fast to build, edit, and share weekly schedules for small teams in restaurant and hospitality environments.
The platform uses a multi-tenant architecture so each organisation's data is cleanly isolated, with role-based access giving managers full control while staff only see what's relevant to them.
- —Create and publish weekly rotas in minutes.
- —Multi-tenant: each organisation's data is fully isolated.
- —Role-based access for managers and staff.
- —Designed specifically for small hospitality teams.
The Problem
Most scheduling in small hospitality teams happens in spreadsheets or through enterprise HRMS tools designed for much larger operations. Spreadsheets break down quickly as teams grow or shifts change frequently. Enterprise tools come with complexity that small operations simply don't need.
There's a clear gap for something purpose-built — fast to use, simple to understand, and designed around the actual workflow of a small team rather than an enterprise procurement checklist.

Staff view of shifts.
Design Decisions
The scheduling interface prioritises speed — creating a new rota should take minutes, not half an hour. Every interaction was designed to reduce the number of steps between deciding what the schedule should look like and saving it.
Multi-tenant isolation was a core architectural decision from the first database query. Each organisation operates completely independently, which simplifies permission logic and makes the system significantly easier to reason about over time.

Holiday requests — employee submission view.

Swap requests — shift exchange between staff.
Implementation
Built with Next.js and TypeScript on the frontend for fast client-side rendering of schedule views. PostgreSQL handles the multi-tenant data model with strict row-level isolation between organisations.
Role-based access is enforced on both the frontend (UI visibility) and server (data access). Session authentication keeps the login flow simple without requiring a third-party auth provider.
Frontend
React · Next.js · TypeScript
Schedule views, rota editor, and role-conditional UI for managers and staff.
Backend
Next.js API Routes
Business logic, role enforcement, and data access with organisation-scoped queries.
Database
PostgreSQL
Multi-tenant schema with organisations, employees, rotas, and shift records.
Auth
Session-based
Role-based access control with separate permissions for managers and staff.

Full platform view — schedule builder, team overview, and role-based navigation.
What I Learned
- —Operational software has very different UX requirements than consumer apps — reliability and clarity matter far more than novelty.
- —Multi-tenant data architecture has to be planned before writing the first query. Retrofitting it later is painful and error-prone.
- —Focusing on a single core workflow and doing it well is harder than it sounds — there's constant pressure to add features that dilute the original purpose.