In 2019, a certain Ukrainian team of a world-famous producer of machinery approached us for help. They wanted a single platform to work with distributors and digitize all sales through a CRM system.
We had no idea that this was the beginning of a long cooperation to create a whole family of digital products that would affect all aspects of the client's business: interaction with distributors, comprehensive sales processes, staff training, client service, additional service sales, etc.
Now, three years later, we can look back and see the results of our work. These are five digital platforms that have changed the client's business and sparked interest far beyond Ukraine.
A few words about the client
Our client is a regional representative of a Western industrial giant that holds an equipment production line. In Ukraine, the manufacturer doesn’t lead sales activities directly, relying on independent distributors throughout the country.
Sales accounting through distributor companies became too effort-consuming at some point, and we needed to adapt it to some unified standards within one platform. The company also had to solve several business tasks along the way: digitize the document flow, train the staff, and monitor working hours.
The first step: It all started with sales
Initially, the client needed a CRM to control the sales funnel and keep detailed statistics. At the time of the request, there was no digital management model, managers were handling their tasks “manually” – slowly, without handy tools.
The future system had to deal with a vast product catalog and a base of more than forty thousand buyers and tech users. Ready-made platforms or template solutions didn't fit here, their capabilities were insufficient. We started considering the creation of a suitable platform from scratch.
The client wanted the system to “unravel” every sales stage, from the first customer encounter to the order shipment.
The project started with a couple of small accounting sections, but it quickly developed new functions. We scrupulously prototyped each new module and page along with the client. As a result, we came up with a concept of two products: a web admin panel for sales management + native mobile applications for sales managers (first for Android and later for iOS).
Technology stack: PHP and Laravel were used to create the CRM admin panel, while the frontend is written in React. Native applications are done with Kotlin and Swift.
The development of the basic version of the CRM took about six months. The client was quickly convinced that our team worked hard and tried not just to earn their working hours but to deliver a proper product.
"The client liked our main developer, the first programmer on this project, Vlad Chernenko. He is the originator of the whole project. They liked to communicate with Vlad and noticed his willingness to go along with any suggestions from the client. He would think over the client's suggestions a thousand times and say what we should do and what shouldn't." – says Katerina Fedorovskaya, project manager.
What WEZOM has developed
In the workflow process, the basic logic of the CRM was constantly detailing. The client was coming up with new features for the system, and in the process of developing them, the team rethought some elements.
Ultimately, we got a non-orthodox, complex custom CRM system that met all client requirements. It is a browser-accessible platform for sales management at all stages, with seven user roles. In the admin panel, you can track the status of every deal related to any distributor to make sure that the equipment purchase payment has been successful and that the order has been delivered to the customer.
It includes a database of all sales, all distributors, and all employees and contains a complete log of interactions and communication with customers.
The system collects and processes information to optimize the company workflow – sales, production, and analytics. The platform allows you to create plans and track their implementation, plan sales and production in the context of the fiscal year, distributors, branches, and teams. In addition, the CRM allows you to collect detailed statistics and display them in a clear infographic.
An important supplement to the CRM is a separate mobile application for sales managers where they conduct all their deals. The manager uses the platform to enter the client data in two clicks and capture the transaction stages and the outcomes – whether the deal was secured or failed. If failed, then for what reason? All of this data goes into the CRM database, where the statistics are built based on it.
One of the main challenges of the project was working with the manufacturer's product nomenclature. Technical classifications here are quite sophisticated. Each product model has a branched hierarchy that must be considered by the statistics.
That’s why the client was constantly testing solutions, looking for the most optimal logic for building a catalog. So while working on the CRM, we repeatedly changed the key parameter product identification in the system. It determined the construction of statistics and the accounting of sales figures.
For the client, the basic CRM came to be the largest and most complex project in the entire case. It not only solves all the tasks assigned to it but also serves as a model and basis for other products. The data it stores is pulled into other platforms through API if needed.
The second step: An educational platform for business
Our client puts a lot of focus on employee training – everyone from salespeople to top managers goes through training, courses, or mandatory testing in their work line every two-three months. The client wanted this process automated, facilitated, and accelerated.
Initially, the client wanted to create the simplest means of self-study by packaging their courses and tests into a small mobile application. It was a platform with several screens – a user section, test assignments, and courses. Based on that, we decided to make a PWA app on top of the simplest architecture – it was the fastest and most affordable development option.
Technology stack: admin panel is written in Laravel, and the frontend is in Vue. The application was initially created as a PWA. Later, its development was shifted to Flutter.
In the midst of the workflow, however, our little app started to grow as we were constantly coming up with new functionality. The basic logic got expanded with a mass of new features, like user groups, varying questions, test taking time limits, etc. At some point, we realized that the PWA development was approaching a dead end, and its vast functionality did not fit the simplest architecture. It was impossible to get all the bugs, and our backend developers were just overloaded.
Now, we understand that we should have tied the project immediately to growth through iterations instead of hoping for its modest scale. The new features would have been introduced in stages, and problems with the code base would have surfaced much earlier.
What did we do to solve the issue in this particular case?
- First, we refactored the code and suggested shifting from PWA to Flutter-based development.
- Second, the client tested the pre-release product and suggested a long list of new features. The second version of the application we wrote in Flutter basically from scratch. The logic of the final solution went far from what was planned at the start.
What WEZOM has developed
The fruit of our work is a unique educational mobile platform for business. Depending on their role, users can not only take but also create their own tests. There are roles for distributors and client partners. They can personally set the tests for employees, using the questions of their choice.
Tests and questions are created in the admin panel. They are tied to specific product categories, areas of work, and organizations. For the convenience of users, they can be divided into groups.
The app supports four types of test tasks: these are not just yes/no questions and problems with one correct answer. There are also tasks with pictures, as well as questions in which you need to establish relationships between concepts. Tests for users are assigned automatically. A chain of questions is randomly generated according to the given criteria.
There are several interesting app features associated with the tests.
- Video hints to help users pass the tests;
- Push notifications that are logged so that users never miss their test assignments;
- Detailed learning statistics displayed as the infographic;
- An ability to both pass the tests and self-learn single-handedly in a field of one’s choice, even the one that’s not directly related to one’s work.
The app continues to evolve all the time. One of the latest innovations is a separate module that helps customers discover company products.
The third step: Digitizing the product demonstration
Distributors give buyers a demonstration beforehand, and the manufacturer takes this very seriously.
The demonstration process requires detailed reporting.
1.The equipment is shown to the potential buyer in action.
2.Its technical condition and critical performance indicators are carefully recorded.
3.Based on that, distributors make a detailed report for the customer about how the demonstration went, all of which used to require a huge amount of paperwork.
4.Previously, reports were composed manually - managers simply entered the data into Excel tables.
The client wanted to create a tool that would allow all the data to be recorded automatically, getting rid of the manual filling of spreadsheets. And we were ready to implement the solution in a mobile application format for managers.
The idea is elementary at its core. The platform pulls up a maximum of data from the client's database, and managers add the missing information into the app in a couple of clicks. We structured the business logic of the application screens based directly on the client's Excel spreadsheet templates.
Technology stack: The cross-platform application is written in Flutter, the control server part is in Laravel, and the frontend is written in Vue.
What WEZOM has developed
The platform created according to the client's templates allows you to create reports quickly and easily without scrupulously filling out spreadsheets. The equipment database is pulled here from the main CRM via the API
The admin panel has vendor-side admin roles, as well as roles for local managers responsible for the equipment. In turn, they can register users and view reports coming into the system.
Distributor-side employees responsible for the demonstration work directly in the mobile app. As a rule, they know about the “test drive” in advance and can generate a report by entering basic data.
But it's not just about a more advanced data entry interface. The app has several useful features that would be impossible to implement in any other format.
- A QR code scanner allows you to identify products instantly. It helps to pull the serial number instantly into the application;
- A special checkbox that captures the date and GPS coordinates of the demonstration;
- An ability to upload to the app photos, both before and after the demonstration.
- Demonstration metrics are saved for analysis and comparison.
- Scheduling of demonstrations and notifications for the appropriate categories of users
During the demonstration, managers also fill out product comparison fields. I.e., the equipment sold by the distributor is compared with analogs from competitors or with the equipment that the client is using at the moment. At the end of the demonstration, the potential customer receives an email report with the results of the "test drive" and a detailed comparison of the competing products.
As a result, managers get an additional marketing factor and a convenient reporting tool in their smartphones. At the same time, the manufacturer can monitor product demonstrations via the app and analyze the stages of interaction with customers in the given scenario.
The fourth project: Monitoring the operation of the service department
At some point, we moved on from digitizing sales to the next stage: digitizing after-sales service. We needed a tool to control the work of engineers who are engaged in warranty maintenance and repairs.
The solution was to create a project management system: an admin panel for managers and a mobile application for engineers. The key aspect for the client was the functionality for tracking the working time of employees. The manufacturer needs to know how much time engineers spend on the inspection, repair, and maintenance of equipment.
Technology stack: the cross-platform application for engineers is written in Flutter. The management backend is done with Laravel and the front end is with React.
What WEZOM has developed
The result was a separate CRM system for service management. It is similar to an office planner: each task has its status, responsible persons, and time stamps. Each engineer is visible to his manager in real-time – by the status of the assigned tasks.
In the admin panel, the processes are monitored by the super admin – the manufacturer's representative. The equipment distributors, in their turn, have several roles: lead managers, service managers, and engineers.
How does it work in practice?
-> A service manager processes a service/repair request from the owner of the equipment and assigns a task to an engineer via the admin panel. From the basic CRM data is pulled into the request by groups of equipment and the customer.
-> Engineers work through the app, for them, it is a convenient work organizer above all else. There, the technician sees their schedule and the workflow plan set for them by the service manager. The technician has to record their work time directly in the tracker – turn on the timer when the work is started and turn it off when it is time to rest.
-> Managers, for their part, should monitor the hours of their employees. One may plan the workload of technicians in a calendar format.
This model has made the maintenance of products easier and more transparent, allowing to use the working hours of engineers more efficiently and to plan their workload in a one- or two-week perspective.
Work on the product continues in terms of in-depth statistics.
The fifth step: Service sales and contact with the end user
While all the previous projects were internal to the client company, this one was aimed at the end consumer - the buyer of the equipment. The vendor needed an app that would help distributors create and sell aftermarket service packages, which, at the same time, would also serve as a point of contact between the customer and the manufacturer's brand.
The need for such an app is dictated by the practice of official brand distributors to form their own service packages and offer them to buyers. Such packages can include various options: additional services, extended warranty, personnel training, manager’s customer support, etc.
There are service packages tailored to the maintenance of certain equipment, and there are common packages tailored for customers. We needed a tool to distribute such packages that would eventually help smooth out customer service.
Development stack: The client application is created on Flutter. The management part is done in Laravel. The frontend is built on React.
What WEZOM has developed
The result of the team's work was another CRM system with a mobile application. But this time, the app is not for managers or engineers but for owners of equipment.
The app is small - customers may see there their equipment, all available information on it, as well as active and available service packages. There are also a corporate newsfeed and forms for feedback to managers. Push notifications help inform the customers about news, status changes, and expiration dates of services in the package.
Regarding the admin panel, the database of clients and distributors is pulled here from the main CRM via the API. In the profile card of each client, you can see the history of interactions, list of their purchased equipment, and service packages. Each client can be assigned to a responsible manager.
There is also a sales reports module with statistics: by plans, by months, by types of active packages, etc. All reports are displayed in the form of clear infographics. There is a handy calendar where the customers can mark scheduled services.
Special features of this case
I would like to dedicate special attention to the common aspects of all the products that we have made for the manufacturer. These are the design and the prospects for the admin environments integration.
1.The design strictly follows the client's corporate brand book: predetermined colors, fonts, visual style and composition requirements. The client separately insisted that all products be aesthetically pleasing and offer a modern UX. This particularly applied to the numerous statistical modules that each project had – so our tries to design the figures in the form of clear and beautiful infographics were not in vain.
2.Integration of all products into a single ecosystem is possible, but there is currently no task for such integration. The admin panels of the platforms are sufficiently interconnected through APIs. If an application for tracking engineers' work needs a database of equipment, it pulls it from the underlying CRM.
In over three years, we have implemented from scratch five projects for large businesses, digitizing all aspects of their internal processes step by step. The client got effective working tools, streamlined the work with distributors, reduced the managers' workload, achieved transparency in service monitoring, and improved the customer experience for its end consumers.
Digitization of sales on the scale of such a large business was a very ambitious task in itself, and the team accomplished this task decently. The basic CRM system created for the client is universal at its core but has a range of key individual specifics based on the client's needs.
Not everything was as smooth as we wanted. But we believe that the new tools are objectively stronger than the old ones, and Ukraine will not source its systems from russian technologies anymore, we need an alternative for that.
Applications for corporate testing and product demonstration aroused great interest outside of Ukraine because our client introduced them to their foreign colleagues in Germany, Brazil, the USA, and several other countries.
Many foreign offices of the manufacturer still conduct management manually – through spreadsheets and PDF files. The Ukrainian experience has been revolutionary for them, so the team is already preparing the ground for the localization of products for other markets. The client also put a particular focus on working out all the legal nuances necessary for work in Europe.
The project was very well done from a technical perspective.
For WEZOM, this experience was precious in a lot of aspects. We had an incredible experience of cooperating with a world-class brand, proved ourselves on the top market, and did not let down the trust of the client. Such projects are an unparalleled pleasure, despite all the difficulties.