Our mission

Human resources are the most valuable component of any work process.

The key issue is therefore to manage it well (finding the optimum allocation).

Diagram of a computer network showing a laptop, servers, a database, and connections between them using HTTPS and TLS encryption. The laptop connects to a cloud server labeled 'Csiri Mobi' through an HTTPS connection. The cloud server connects to a private cloud labeled 'Rostar' through an HTTPS connection. Rostar connects to an application server labeled 'WebLogic' through an HTTPS connection. WebLogic connects to a database labeled 'CsiriBiri' through a JDBC connection and a WFMS (Workflow Management System) labeled 'WebLoglic' through a TLS-encrypted channel.

System architecture

A private cloud whose servers are accessible via the public internet.
It is run by the Phi Division, of course, and version patches are applied automatically.

The databases contain anonymous data only seen by the operator, we store users’ proxy IP addresses and only allow requests from them to our firewall.

Icon of Rostar

Algrithmic Background

Our system seeks to select employees from the available human resources according to the requirements of the shift plan, taking into account the skill matrix and shift preferences of the employees, while not violating labour rules.

To solve this complex task, we developed an algorithm that learns from its failures on the fly.

Combination of the Python and Node.js logo

Our methodology

We create a model in python for every bisuness process and data model/algorithm.

Time-critical parts are transformed into JavaScript running under Node.js

They chose us:

Break matrix

A break scheduling algorithm based on the principle of „least frequent break pattern”

Let’s have N pause patterns (substantially different from each other). For simplicity, assign colours to each pattern (red, blue, yellow, green…) We want to determine the colour of a new shift beam without a break, so that the k beams in this group already have a colour. The control principle is: the color of the new beam should be the least frequent color in the time interval of the beam. To do this, we consider the parts of the other already coloured beams (which can be the whole beam if they have a common start) that fall within the time interval of the new beam to be coloured (between the start and the end).


Operation of a multi-skilled automatic floor plan maker (parquet flooring)

Employees’ skills and tasks can be classified into several so-called skills. For each of these skills, separate turnover curve estimates are made. How can the available worker resources be used most efficiently to produce a shift plan that ideally covers these plan curves? The area under the curve for each skill distribution, shows the total amount of resources they require over the plan period. Obviously, somehow the total monthly working time of each worker should be divided in proportion to the skill resource requirements.