Business Solutions

Staff Manager

Staff Manager weekly schedule

Project Name

Staff Manager

Type

Web application

Industry

Retail & Hospitality

Built with

JavaScript, Tailwind CSS, PHP

Interface

Greek

Staff Manager is a web application that creates the weekly work schedule of a shop, café or restaurant automatically. The manager sets the opening days, the shifts and the roles each shift needs, adds the employees with their contract days and restrictions, and with one click the app produces a complete schedule for the week.

Doing this by hand every week takes time and mistakes are easy: someone ends up working too many days, or closing at night and opening the next morning. Staff Manager handles all of these rules automatically, shows clearly if any position could not be covered, and still lets the manager fine-tune the result by hand.

Staff Manager shop hours and shift settingsStaff Manager employee list

What I did

Design and full development of the application: the interface in JavaScript and Tailwind CSS, the scheduling algorithm and the API in PHP, data storage on the server, and the drag & drop editing of the generated schedule.

Staff Manager day-by-day breakdown

Key features

  • Shop setup: opening days, any number of shifts with start and end time, shift type (morning or night) and how many people of each role every shift needs.
  • Employees: days per week, hours per day, allowed shifts, roles (e.g. waiter, barista), a colour for each person and weekly restrictions such as “not available on Tuesday evenings”.
  • Automatic scheduling: one click fills every position of the week while respecting contract days, days off, one shift per day, roles, restrictions and no morning shift right after a night shift, even across weeks.
  • Days off & shortages: days off can be set before generating, and any position that cannot be covered is listed clearly with how many people are needed and how many were found.
  • Manual edits: move or swap employees between shifts with drag & drop, checked against the rules before each change, and add an employee to a shift as an “extra” person when they still have contract days left.
  • Saved weeks: a calendar week picker, schedules saved per week, a day-by-day breakdown and automatic saving of all changes to the server.

How the algorithm works

Every open position of the week is a “spot” to fill. The PHP algorithm uses backtracking: at each step it picks the spot with the fewest eligible employees first and tries the people who still have the most days left to work, which keeps the workload balanced. To stay fast it skips equivalent choices (spots of the same day, shift and role are interchangeable) and cuts every branch that can no longer beat the best schedule found so far, based on how many days each employee can still realistically work. If a spot cannot be covered at all, it is left empty instead of blocking the rest of the week, and within a short time limit the app returns the best possible schedule and reports exactly which positions are still uncovered.

More projects

QR Digital Menu
QR Digital Menu

A digital menu that customers open by scanning a QR code, with an admin panel where the store updates products and prices.

Where To Breathe
Where To Breathe

A live air quality monitor for 90 areas across Greece, with an interactive map, forecasts and outdoor activity advice.

Τάβλι Πλακωτό
Τάβλι Πλακωτό

An online two-player version of Plakoto, the traditional Greek backgammon game, with a lobby and server-side rules.

The Forbidden Papyrus
The Forbidden Papyrus

A 3D dungeon crawler made in Unity: explore the cave, talk to its strange residents, avoid enemies and escape with the Papyrus.