Meet us at E-commerce Berlin Expo, February 22, 2024.

Please leave your contacts, we will send you our whitepaper by email
I consent to process my personal data in order to send personalized marketing materials in accordance with the Privacy Policy. By confirming the submission, you agree to receive marketing materials
Thank you!

The form has been successfully submitted.
Please find further information in your mailbox.

Innowise is an international full-cycle software development company founded in 2007. We are a team of 1600+ IT professionals developing software for other professionals worldwide.
About us
Innowise is an international full-cycle software development company founded in 2007. We are a team of 1600+ IT professionals developing software for other professionals worldwide.

HRM system — corporate web application

We have built an internal HRM ecosystem that streamlines such HR processes as personnel tracking, benefits, recruiting, onboarding, learning and development, and more.

Customer

Industry
Information Technology
Region
EU
Client since
2007

Innowise is a global full-service custom software development company that delivers smart digital ideas to customers worldwide. Over the past 15 years, the company has implemented about 600 projects in various industries and won the trust of dozens of customers. By 2022,  Innowise has grown to over 1,000 top-notch IT professionals, several development centers, and representative offices across Europe and North America.

Challenge

HR personnel are responsible for a multitude of tiny but impactful tasks. A delay in such tasks will impede the organization’s operational flow. Our company was quickly growing, but the only concern we had was managing and handling staffing issues. The HR department needed an automated solution to ease their burden in managing routine administrative tasks, such as attendance, vacations and sick leaves.

We realized that it would be great if all the information was centrally stored in the system, but it would be even more powerful if all this information could be quickly and easily updated.

We aimed to create an “admin first” type web solution with a flexible database that enables easy and reliable human resources management:

  • store and update all the information about employees;
  • create new and adjust current workflows;
  • manage users;
  • integrate seamlessly with other systems.

We needed to develop a modular web HR software solution with a user and access control module, a process control module, and a data management module that are resistant and adaptable to any external and internal changes. Another challenge was to integrate informative dashboards with analytics, where users can track operating parameters.

We were obliged to create not a steady but flexible system with the ability to add new features with no major refinements (feedback on the employee’s professional activity, one-to-one calls assignment, comments on probation, etc.) while assigning the person responsible for a particular process completion.

We were focused on enabling data centralization within one system by integrating and modifying existing business processes while optimizing workflows and reducing corporate operating costs.

Solution

We have developed a modular web-based system that stores employee and company structure information in one place.

Besides, the web app allows creating any business process to draw up a personal development path, request or approve vacation, document a probationary period, extend the contract, etc.

Employee page

There was a lack of a centralized employee base with all needed information. For example, a personal development plan should be approved by four authorized individuals who need to submit comments in writing or by mail. Because all the related information was decentralized, it was difficult to understand why such a decision was made.

The HRM system we have developed allows storing all processes in a single system. It enables to assign any task to the person responsible for decision-making and leave comments on the decision. Moreover, the system allows filtering data by employees, saving filter results in spreadsheets, and generating analytics and statistics reports.

We have implemented this functionality through the Employee profile tab with the following sections:

  • Information with the employee general information, organizational units, a line manager, etc.
  • Possibility to add hard, domain, and soft skills to the corresponding fields, such as language assessments and exam dates.
  • Development plan for viewing employee’s progress.
  • One-to-one for scheduling calls with HR managers and line managers and collecting their feedback.
  • Useful links with the ability to add the links to any document that can be helpful for each particular employee.

Company structure

Decentralized information storage made it almost impossible to obtain necessary data immediately. Thus, it caused challenges for sales managers to find the appropriate candidates for a project. In addition, employees were not sufficiently aware of what was going on in the company due to frequent changes in the organization’s structure, functions, or business processes. We have made the company information especially helpful for sales managers with the options to:

  • Access to the organizational structure;
  • Filter employees by professional level, skills, etc.;
  • Search for employees using filters by name, organization units, positions, managers, etc.;
  • View colleagues’ profiles.

In particular, we have implemented the following functionality in the HRM application:

  • Company structure tab;
  • Organizational structure in two representation forms (tree/list);
  • List of all the employees with filtering options (job title, professional level, managerial level, department, etc.);
  • Searching and viewing employees’ profiles with general information.

Processes

Different countries have specific business processes: vacation management, probation, calendar plans, contract models, etc. The more offices in other countries we have, the more such peculiarities should be considered and reflected by the system.

We have launched a flexible mechanism for the localization of business processes for different countries. The HRM software solution we have developed has a modular structure that allows creating any process required within the system with no changes to the system itself.

As s result, the web solution has been enriched with the following features:

  • The Processes tab with the ability to create process drafts and easily manage existing processes;
  • Automatic notification for all employees about the process changes when the final version is ready and published;
  • Support for different languages is enabled within the system.

Time off

Depending on the office location, there are specific legal norms or the processes of taking a vacation, probationary period terms, the number of days off, etc. In addition to enabling employees to request vacation, managers, for their part, can approve it in this system. It has previously happened that when employees relocated they were not aware of the local processes / legislation specifics, as well as other peculiarities which caused additional challenges.

As part of the system functionality, we have enabled sending sick day requests, as well as displaying the current time off balance, upcoming days off, and an overall history of all requests.

Our team has added the Time off tab with the following sections:

  • My balance with current, upcoming, and past days off;
  • My requests with the information on time off type, date, period, quantity, and status;
  • Subordinate requests with name of the subordinates and their time off type, date, period, quantity, and status;
  • Data uploading to the accounting programs.

System settings

It was important for a future solution to display high flexibility in its settings due to frequent changes in the company structure, employee functions, or business processes. We realized that it would be great if all the information was centrally stored in the system, but it would be even more powerful if all this information could be quickly and easily updated.

We have implemented the bulk change option and smart filtering in the company structure section. This enables a one-click move of some employees to the new location or department if they relocate. Smart filtering refers to the multi-selecting of various parameters to get the relevant information in a couple of clicks.

We have implemented the System Settings tab with the following sections:

  • Company structure with the opportunity to filter the information on unit, division, department, team, group, etc.;
  • Bulk change for applying changes in organizational structure at once;
  • The ability to change the structure simply via UI.

Integration with a corporate mobile application

There are many ways users work: on desktop computers, on mobile devices (due to frequent business travel), or a combination of both. We made it a priority to make corporate information as accessible as possible so we could work efficiently on the go.

We have enabled the system integration with a corporate mobile application that duplicates part of the functionality of the main HRM system.

The solution is then implemented in the application as follows:

  • Integration with a corporate mobile employee HR app;
  • Time off processing;
  • The option to view company structure;
  • The option to view employee profiles.

Technologies & tools

Back-end
Java 17, WebFlux / Reactor, Lombok, MapStruct, Spring Boot, Spring Security, Spring Data R2DBC, Spring Data Mongo, WebSockets / gRPC / REST, Redis, Firebase, Kafka, Debezium, ElasticSearch, Camunda Modeler
Front-end
React, Redux, Redux-Saga, Reselect, Mui5, React-Final-Form (for compatibility with React-Admin), React-i18next, Axios
Databases
MongoDB, PostgreSQL
Platform
Web
Seamless integration
Bitbucket pipelines, Helm
Configuration management
K8S configmaps
Containerization and container management
AWS EKS
Server monitoring
 
Prometheus, Grafana
Event log management
 
ELK

Process

After defining the application’s functionality and addressing the issues within the development process, we came up with the following:

  • creating the design of the application and its architecture;
  • implementing the ideas on the application’s functionality;
  • maintaining the application after the release.
Discovery
At first, our team analyzed employees’ pain points and figured out the best possible technological solutions. We designed the basic architecture of the employee HR app and created mock-ups to calculate the development cost. To get a more exact estimation, we created a detailed plan for the development of each module.
Technology choice
It is important to choose technologies that facilitate rapid development and deployment of applications, as well as ensure easy maintenance and refinement. In this case, cross-platform development is necessary. It is also essential to enable integration with third-party systems, such as Friendwork, Jira, Atlassian, Google Calendar, etc.
Security
    We have enabled IP device location monitoring when the application is in use (anti-fraud) and sending the related notifications to the user by email. There is a limit to how many devices can use the app at a given time. Google's two-factor authentication function is also included so that only company employees can be logged into the system.

    Also, we have enabled the request with full confirmation for personal/contact data (by phone, Telegram, WhatsApp) to prevent personal employee data leakage. The contact data export is not allowed. All those measures provide complete application security.
MVP development
We delivered module by module using an iterative and incremental approach, discussed tasks at Slack, and tracked tasks in Jira. Unit and manual tests were conducted at the end of every development phase to detect and fix even the tiniest bugs.
Maintenance & enhancement
After introducing the MVP, we put it into operation to conduct employee testing. After a few weeks of using this system, our staff gathered feedback. Based on this, we fixed all the problems and then fully implemented the system. As a result, our employees now have a cross-platform application to streamline all workflows. We are constantly improving our app and adding new features and improving processes.

Team

1
Project Manager
1
Business Analyst
1
UI/UX Designer
4
Back-End Developers
3
Front-End Developers
2
QA Engineers
1
DevOps Specialist
team-innowise

Results

HRM is a centralized database, a source of unified information for all other departments (Financial, Sales, HR, etc.).

We managed to deliver one of the best HR software solutions in the market with a rich set of options including the integration and fast scaling of functionality; as well as personalized features and access based on user roles.

Even though the number of system users is growing, and many processes keep changing, its performance and security remain unaffected.

It has already improved workflows and reduced corporate operating costs for the international company with more than 1,000 employees and offices scattered across the globe.

Project duration
  • 6 months for MVP
  • The project continues, at this stage we support the platform and implement new functionality

Contact us!

Book a call or fill out the form below and we’ll get back to you once we’ve processed your request.

    Please include project details, duration, tech stack, IT professionals needed, and other relevant info
    Record a voice message about your
    project to help us understand it better
    Attach additional documents as needed
    Upload file

    You can attach up to 1 file of 2MB overall. Valid files: pdf, jpg, jpeg, png

    Please be informed that when you click the Send button Innowise will process your personal data in accordance with our Privacy Policy for the purpose of providing you with appropriate information.

    What happens next?

    1

    Having received and processed your request, we will get back to you shortly to detail your project needs and sign an NDA to ensure the confidentiality of information.

    2

    After examining requirements, our analysts and developers devise a project proposal with the scope of works, team size, time, and cost estimates.

    3

    We arrange a meeting with you to discuss the offer and come to an agreement.

    4

    We sign a contract and start working on your project as quickly as possible.

    Thank you!

    Your message has been sent.
    We’ll process your request and contact you back as soon as possible.

    Thank you!

    Your message has been sent.
    We’ll process your request and contact you back as soon as possible.

    arrow