Contents

    Enterprise software solutions are widely employed by companies looking to effectively manage their business operations at large scale, better adapt to a changing environment, achieve better decision-making, and drive revenue generation. Enterprise solutions software also helps with more narrow and specific tasks, such as improving HR processes and employee training. In this case study, we share the details of our development journey with a large manufacturer, its unique challenges, and the solutions we have to come up with.

    Client

    We were approached by the world’s largest manufacturing and distribution company. The company has been in business since 1911 and employs over 10,000 people worldwide. We are not sharing the name under the terms of the NDA.

    Project idea: Creating an enterprise application to improve employees’ skills and engagement

    The client needed something more than a simple enterprise social network or intranet. The management had ambitious goals:

    • Improve the computer literacy of each employee.
    • Increase employee engagement in business processes.
    • Inspire employees to generate ideas for digital transformation.
    • Strengthen the HR brand.

    Challenges

    Enterprise software solutions for large companies often have to tackle several issues at once. This was the case with our project as well.

    Create a versatile tool for over 10,000 employees

    In a large business, it’s hard to keep an eye on every process and read the atmosphere in the office. The client needed a versatile environment that would feel equally comfortable to both people in production and office staff.

    At the company, about 80% of the employees worked in production and had little understanding of computer technology. The remaining 20%, by contrast, were pretty tech-savvy and could potentially help their colleagues to catch up. Hence, one of the goals of the new solution was to bridge the gap between the office staff and production.

    Bring employees together and encourage new ideas

    What the company had in mind was more than a mere infrastructure for personnel training. They wanted to give their employees a chance to be proactive and suggest ways to improve internal business processes. Ideas for digital transformation had to take center stage.

    We implemented a user-friendly UI, where any member of staff could easily submit their ideas online. All ideas that passed moderation were forwarded to management for review.

    Change how corporate training is perceived

    Ongoing training is a crucial part of working for a large business. No sooner had the staff passed one performance review than the next one was just around the corner. This can be physically and mentally draining. The client’s employees began to associate training with excessive stress and extra strain. Besides, a great number of employees had no access to a computer at work.

    The client was looking for a simple training tool that could be easily used by anyone, be it a merchandiser on a business trip, a filler in a production unit, or a manager in an office.

    Our task was to change the way employees perceive training and to create a simple and friendly training platform with a clean design that keeps the focus on the most important thing—personal growth.

    Our solutions

    The concept of an enterprise solutions software that brings all the employees together originated back when the general manager came up with the idea of a corporate athletic challenge. This was supported by many people in the company and resulted in the need for a common platform where everyone could explore and suggest ideas on how to help the company grow.

    Throughout many brainstorming sessions with the client’s team, the concept evolved into something even bigger — eventually, we decided to include all company activities in the app.

    Backend: Kotlin for microservices

    We were tasked with building the entire project from the ground up. This made our job easier and more structured from the beginning. The analysts put together the technical specifications and handed them off to our backend team. The employee data was all taken from the FTP file provided by the client’s IT department.

    To build the backend, we chose Kotlin and used a standard set of tools typical for the microservice architecture: the Spring Boot framework and JWT token for authorization. Since the deadlines were pretty tight, we took these tools and built a monolithic architecture that was virtually split into microservices.

    When we designed the app, we laid the groundwork in a way that would allow us to easily split it into microservices further down the road. We “packaged” the structure and only then implemented the logic we needed in the isolated parts. Thanks to this approach, you can easily “split” the structure into microservices as needed.

    We also kept in mind that the system could potentially expand; for example, there would be new employees who would also need access to it.

    Admin dashboard with React

    To help the client manage content, we built a custom web app with React and Ant Design.

    Types of authorization

    Although anyone can download the app from a store, you need to be an employee listed in the shared database to log in. We implemented 2 authorization pathways: via email and a phone number.

    The “Configs” tab is only available to super administrators who can assign and delete other administrators.

    Assigning roles in the web app

    Immersive UX/UI design

    We built the concept from scratch. The idea was to make the app look simple and free of overly complicated details, but informative nonetheless. We picked complementary colors with moderate contrast, and the client approved the layout right off the reel.

    The idea behind the app, which is to immerse the employees in an educational element, is supported by the design. We had to make sure that users weren’t just reading the news and scrolling through the feed, but were actively involved in improving the app. The design is structured to help users progress in their education while earning bonus points in a gamified process that can be spent on workplace improvements and books.

    The interactions with the app are a crucial part of the concept that you notice from the beginning, i.e. the onboarding. For this part of the app, we designed and drew characters that guide users through the app and set the overall tone.

    Mobile apps with Flutter

    For the app itself, we suggested using Flutter cross-platform technology. It fits mobile app development with high performance and native design, which was exactly what we needed to build a custom enterprise system. Given that, with a cross-platform framework, we were able to create apps for both iOS and Android platforms with just a single code base, reducing development time and costs by about 30% compared to native apps.

    Functionally, a Flutter app is just as good as a native app, which means we can implement all the features the customer expects in the app.

    A wide range of in-app activities

    As the result of our enterprise software development, the delivered solutions include a wide range of features designed to engage employees in a variety of activities: a training module, a testing system, a leaderboard, and even a corporate store.

    Training

    Administrators. To add a course, administrators need to click a plus button in the “Courses” tab of the Admin Dashboard — the app will add an entity within which they have to add lessons. The editing page contains “Name”, “Description”, and “Text” fields that must be filled in for each lesson.

    To create vivid and engaging lessons, admins can insert links or the YouTube player, which allows users to play a video in a minimized window. Flutter has a dedicated library for this type of integration. The files attached to a lesson are downloadable; they go to the downloads folder on the user’s smartphone.

    Students. We based the training process on game mechanics. Users scroll through the thread, press the plus button to pick courses, and then simply go to the “My Training” tab and study the courses they chose. Users can also delete courses they have completed or have lost interest in. Each course costs a certain number of bonus points that users can earn upon successful completion.

    Tests

    All courses can have tests added to them. Admins can add a counter of questions and tweak the test. For example, they can specify the number of questions they want shown: say, 8 random ones out of 20.

    The “Start” button is active if a user has never taken the test before, while the “Repeat” button is active if a user has failed the test earlier. A test is considered passed if a user gets more than 80% of the answers correct.

    The questions are randomized: if you come back to take the test again, the app will generate a different set of questions.

    Points are only granted when a course is completed.

    Articles

    A news thread is a great tool to keep employees informed about the life of your company and to get feedback. We have made it mandatory for an article to be accompanied by an image. That way, the look of it goes along the lines of the ever-so-familiar news feeds on social media.

    Each article page has a familiar “Like” button, which, when clicked, also grants points to the reader.

    In this block, users can provide feedback via the “Suggest a topic” option. Any employee may send a brief description of an event or submit an article. It then goes to the administrator and, once validated, is published, earning its author the well-deserved points.

    Store

    An enterprise app is not a classic e-commerce app. Here, you can’t literally “buy” an item. Essentially, it’s a window display of material incentives with assumed prices.

    With the bonus points earned in the app, employees can pick the items they like and place an order. The list of items is curated by the administrator, who sets the names, prices (points), and quantities (in stock at the warehouse) and uploads images.

    To get an item, users have to press ‘Order’; the administrator receives the request, checks the details, and delivers the item to the recipient, while the corresponding number of bonus points is written off.

    Share progress

    Here’s another way of user interaction. Needless to say, it’s remunerable. Whenever employees do something useful offline, such as helping to carry a box of cookies, they are eligible for more bonus points. All they have to do is click “Share progress”, write a short description, and attach a photo. The administrator will look into it and grant points.

    Leaderboards

    Nothing motivates you to seek new challenges like healthy competition. The client thought of it — we made it happen. The app has a multi-tiered rating system: users can view ratings by person, department, and company. All ratings are graphical — each user is given a level according to their position in the list.

    Here, users can also view their points balance, updated daily, and information about the scoring system. In the future, the section is meant to include a vacation countdown and a vacation request form.

    Results

    We built an app that had the potential to bridge the gap between the back office and production. It improved employees’ computer literacy and motivation to learn. Today, the mandatory training is no longer a burden but a fun gamified experience. Game mechanics help draw employees into the shared digital environment.

    One of the key features that drives both personal and corporate growth is suggestions. The management fosters openness and creativity, and the employees no longer feel left out. Instead, they now have a sense of belonging and know they are working for a common cause. Such HR initiatives have the potential to initiate and develop a common business strategy.

    Why choose Surf for enterprise software development

    We believe that enterprise applications are essential to the HR culture of a large company and that such an app can be customized to meet your organization’s needs. At the same time, we’d be happy to discuss the development of any other type of corporate software, such as business automation or enterprise risk management software solutions.

    • 13+ years of expertise. We are one of the first 3 leading software development agencies certified by Google and among top 10 US development companies (Clutch).
    • Cross-industrial knowledge. We have successfully developed software products for healthcare, e-commerce, foodtech, fintech, and enterprise domains.
    • Full-cycle development. We have experts on board for a full range of services, from business analysis and prototype design to native/cross-platform development and post-release maintenance.
    • Streamlined process. In our work, we employ the best practices and in-house solutions for unified architecture and a smooth development process.
    Contact us
    Let’s discuss your project together
    CEO photo white

    Vladi Makeew

    CEO of Surf
    Drop a file here or click to upload
      Hidden span