Our workplace struggled to adjust to the new reality with the threat of the pandemic looming over both wellbeing and productivity. Dividing the workplace into shifts and sealed off capsules proved an immensely complex task considering how many workplace dependencies exist in our environment. Furthermore, many employees were affected by frequent shifts of public transport availability, which meant they had to find other ways of commuting to and from work.
Those difficulties led us to believe there is a need for a service capable of handling large and complex employee data sets and provide an optimal division that would allow the workplace to maintain its productivity while protecting its employees.
What it does
Capsulize divides the workplace employees into shifts (each working in different hours), capsules (groups of employees sealed off from the rest of the company), and workspaces (based on each employee's preference). Capsulize also provides a carpool plan based on the employees' home location and mode of transportation.
How we built it
We implemented the core algorithm in python, and integrated it into a flask server. The client side forms are just good old html + css.
The algorithm is designed to run in several stages.
The first stage assigns employees into shifts. It does it by mapping every "shift dependency" (i.e. an employee stating he cannot be productive without a coworker available in the same shift) and binding dependent workers to the same shifts. Each worker is assigned to his workspace (load balancing is done at a later stage to ensure room occupancies don't overflow).
The second stage assigns workspaces to capsules. This mapping is performed in a way similar to how to first stage maps "shift dependencies", but in this case we map workspaces based on their occupying employees' "capsule dependencies" (i.e. the cowerkers the employee has to have physical contant with).
The third and final stage groups employees working in the same shift into carpools. It calculates travel distances between employees and prioritizes employees with fewer carpool options to maximize the car capacity utilization.
What's next for Capsulize?
- Workspace and capsule load balancing features are currently missing.
- A better ui design, probably with a rich client framework.