Digital Assistant for Metalworks Facilities

Digital Assistant is a system that analyzes various data of metalworks facilities and uses the analysis results to recommend the amount and types of ferroalloys to be added into an alloy, so that it conforms to GOST standards and stays economically viable. Made for Datana. Developed with Kotlin Multiplatform.

7 months of development

8 services in the system

5 dashboards for monitoring



The customer approached us for help with developing a Digital Assistant for metalworks facilities.

The Assistant needed to be able to analyze alloy’s chemical composition, temperature and degree of steel oxidation, as well as raw material composition. Using the analysis data, it was to recommend the minimum required amount of costly ferroalloys that would make the alloy economically viable while complying with the specifications of GOST.

A process monitoring system and an interface for interacting with other services were required as well.



We integrated a Digital Assistant module which calculates the minimum necessary amount of ferroalloy to stay within GOST specifications into the customer’s other systems using a microservice architecture. The Assistant monitors data in real time and displays it on the screen within a second.

It helps to reduce the consumption of additives, reject rate, as well as gas and electricity consumption. This increases the profitability of steel production.

We have set up a business monitoring system, which reviews performance of the assistance after smelting.

Development Process

Business logic. The customer has a special machine learning-based model that provides recommendations during smelting using the collected data: temperature and degree of steel oxidation, raw material composition. We have integrated the Assistant into this model, so that it receives calculations, determines the required amount of ferroalloys to be added to the alloy, and displays the relevant data on the screen. At the core of the Assistant lies a flexible model of the production process that adapts to smelting in real time and uses previous values for follow-up iterations. This allows predicting final chemical composition.

Usually, the smelter determines ferroalloy amount based on their expertise. Errors mean longer furnace heating times, which wastes energy and increases the risk of ferroalloy overconsumption. Digital Assistant speeds up the process, saves energy by preventing mistakes, and makes the smelting process more predictable.

Analytics. We analyzed the technological process of how smelting transitions from the ladle furnace into the basic oxygen furnace. Then we built a digital model of this process and used it as a basis for system requirements: scenarios, transportation models, calculation formulas, integration tools.

We have compiled extensive product documentation based on the analytical data obtained.

How the development process went. At first the project was worked on by a single specialist, and we gradually added more team members to it. The work went as follows: we assigned fortnight sprints and the tasks for those sprints. Then we checked with the overall development plan and started working on the tasks. At the end of each sprint, we had a review with the entire project team.

Microservice architecture. The system consists of many microservices, and each of them performs a single task, for instance, obtaining, transferring or validating data.

Monitoring. The monitoring system obtained data on the stage of smelting and the alloy chemical composition and displayed it on the screen. We needed to optimize many different calculations, so that the displayed information would always stay up to date.

Testing. The data for testing were provided by various factories. Sometimes, we simulated extreme cases. Testing was mainly done on the customer side.

The Hardest Part

Business monitoring proved to be the most difficult part. We had to obtain a large volume of data and process it in the system within a short time frame. Then we needed to get the coefficients of quality comparison for smelting refinement over a particular period of time or overall. And finally, relevant data needed to be displayed on the screen for the operator.

How we solved these tasks

We rebuilt transportation models of the system and optimized processes throughout the entire product suite on our side.

Another part of the solution was state models, which contain sets of smelting states and transitions between these states. These allowed us to synchronize the real on-site metalworks process with its “digital clone” in our system.

Technology Stack

Backend on Kotlin
Spring Boot
Kotlin Coroutines
Apache Kafka


Digital Assistant obtains the information on the alloy — its current chemical composition, raw material composition, temperature and degree of steel oxidation — and performs calculations. Once the calculations are completed, the monitoring system displays the required amount of ferroalloys for the current smelting stage.


They are used for integration with third-party systems. Equipment data is collected into the customer’s system (APCS). Each adapter receives data from the system and converts it into a standard structure used in our system. One external integration = one adapter. This approach allows us to connect and configure external equipment without disturbing other parts of the system.

Let’s discuss your project!

It is free. We will tell you how the application will solve your problems.

Similar projects