We are ISS Art and we can implement all your challenging ideas. No matter if you want to build a new product or enhance an existing one, we are here to help you!
Since 2003 we have made over 500 clients all over the world happy! From startup founders and mid-size business owners to presidents of global corporations in such areas as production, media, healthcare and FMCG.
You can rely on our expertise in ML and AI. We'll allocate the right team exactly for your project, create a roadmap, select the most cost-effective approach mapped to the goals of your business and protect you from possible risks.
It’s your chance to break new ground in business!
Certifications

Focus Areas
Service Focus
- Artificial Intelligence
- Software Development
- DevOps
- Mobile App Development
- Web Development
Client Focus
- Medium Business
- Large Business
- Small Business
ISS Art Clients & Portfolios
.jpg)
Calm and Confident is another mobile application our company has built for Mark Grant, a clinical psychologist with 20 years of experience in the treatment of stress, trauma, and pain.
This mobile app is designed to help the users to feel calm and balanced by listening to audio tracks with the BLS (bilateral brain stimulation) effect which is a vital part of EMDR (Eye Movement Desensitization & Reprocessing) treatment. It can be used with mobile devices and PC tablets.
Challenges:
1) In this app we wanted to try a more personalized approach for user listening experience because different tracks work better for different people and we had to provide them with a beeline to the most helpful tracks whenever they need it. At the same time, we didn’t want to make the app more complex than it is necessary for its main goal.
2) It was very important for us to synchronize our animation with the frequency of metronome used for the BLS effect. Otherwise, the visuals won’t amplify the original stimulating effect.
Solutions:
1) For that, we have built-in a Personal compilation gallery where the most frequently listening tracks are collected. It can have both audio tracks and tracks with animation since they all belong to the same playlist.
2) Since the metronome frequency was not consistent due to BSL effect requirements and the customer couldn’t provide us with accurate calculations for the correct frequency within different timeframes we had to calculate it by ourselves. Because of that the animation was generated automatically via coding means instead of putting together a single animated file manually.
Results:
As a result, the mobile app was published on all iOS and Android markets. At first, our customer has tried this app among his colleagues but now it is available for anyone who has access to the Australian markets. So far we didn’t get any global additional requests regarding the app.
Business value:
The main goal of the app was turning a music album that Mark Grant recorded a while ago into something more modern, mobile and personalized. Since the tracks themselves have proved to be efficient on their own record it was only logical to give them a new life in the form of a mobile application with a few unique features.

The project logically continues a wide web project connected with the control of the vehicle fleet for coal sector companies. The project is made under the control of Rockpile Solutions LLC. The participants of the project team are the official partners of that company.
The main goal is the porting of the existing web application (PWA) into the mobile format and further development of the product for Android tablets and iPads. As a result, drivers of a coal sector company are supposed to make notes of activities on the route, and operators and supervisors are supposed to follow the status of any route and get all the reports of the routes done.
The mobile app follows the geographical location of trucks by GPS signal and, depending on the route and driver’s location on it, offers different variants of further actions. If the truck is near a petrol station, there will be the option for refueling available. If the truck is near a coal loading point, the option of surveying the documents of the load (which means that the loading took place) etc. Drivers can make notes on resting hours, accidental breakage of the truck and other events that affect the time on the way.
For different drivers different routes are available in frames of the projects available.
In case of route changes the operator can send all the necessary information to the mobile application and the driver can just confirm the information received or confirm it and upgrade the information at once so that navigator could use the upgraded route.
The application covers different countries that is why the system converts different units of measurement for refueling or loading depending on the country truck is in.
By the end of the route, a report is generated. It is sent to the supervisor responsible for this or that part of the route and vehicle fleet.

Our client is an agency specialized in high-volume image processing. They already had theirown image processing algorithms for extracting images from backgrounds but it didn’t work for all types of backdrops they wanted to operate with.That is why they came to us with a clear task, to develop a more suitable solution.
The main application area of the project is photo processing. One of the most common andsought-after
tasks here is to replace the original backdrop of an image due to the need eitherto fix some issues with a background or to make the image more impressive and unique ingeneral. It is also one of the most time-consuming and tedious tasks in the area ofphotographic processing.
Doing this process manually will take an average specialist significantly more time than doing it automatically with an algorithm.
There’s plenty of solutions designed to help specialists with that task on the market built with Computer Vision mathematical algorithms and Machine Learning approach. However, the existing solutions proved to be either too slow for the real production needs or not precise enough.
Challenges
Within this project, we've tested several state-of-the-art neural network architectures in application to the problem of accurate segmentation and computing the transparency levels for border pixels. This work is intended for processing photos with people captured in full length.
Solutions
We've overcome several challenges connected with optimaldata preprocessing necessary for training the network andprocessing the high-resolution images keeping their originalsize by making and aggregating predictions for overlappingpatches.
Results
The project comes up with the solution which helps photomontage specialists to handle high-volumetasks with the required speed and precision where 4000 x 3000-pixel images can be processed inroughly 5 seconds. The resulting solution operates with the following types of backdrops:
- natural,
- painted,
- lastolite.
Business value
A twofold reduction in time spent by designers on photo processing;
The payback time for the project was 2 months.

This project started as an idea of our client who has a private brewery. He wanted to use amodern solution to optimize the workflow. His idea was related to cell analysis using amicroscope. The primary use of microscopes in the brewery and cell counts is that they areuseful for determining pitching rate, remaining cell density when bottling beer anddetermining yeast densities in yeast sediment.
Doing this process
manually, without an algorithm can take from 30 minutes to an hour.
Challenges
Our main challenge with this project was to perform cell recognition in order to understand how many of them are deadand how many are alive.
Solutions
We have developed a script, that receives microscope images as input and marks dead cells on them. As an output, the script returns images with marked cells on them.
Business value
By using an algorithm for this task and not doing this process manually you can save an hour a day of your worker. And if we assume that the average working day lasts 8 hours, we’ve successfully saved 12,5% of an average business day.

One of our current projects is about training a model that performs crack detection on concrete slabs. The main goal is to optimize the process in production. Cracks on the surface are a major defect in concrete structures. Timely crack detection helps construction companies and concrete product manufacturers to prevent potential losses. There are various approaches to solving this problem, some of them involve manual inspection and others are based on automatic detection methods. Nowadays, the increased efficiency of modern neural network models and Computer Vision technologies makes anautomatic approach out of competition compared to the manual one, allowing to optimizethe process without losing any accuracy. Crack detection is the semantic segmentation problem. Semantic segmentation refers to theprocess of linking each pixel in an image to a class label. In this case, we need to find allpixels of cracks on the photo of a concrete structure. Challenges The images were 11664X8750 px resolution and the crackswere so small that after fragmentation we end up with a hugeimbalance in our training data set. Almost all of the cracks in the training dataset werehorizontal. However, in reality, there are common bothhorizontal and vertical types of cracks. Solutions We had to split each image into 256X256 px overlappingtiles. Each image was divided into about 1600 sampleswithout cracks and 150 with ones to balance the dataset. We have performed data augmentation – a technique toartificially create new training data from existing training data. We had to make the following transformations to get a good diversity of input data: - Flip each image horizontally and vertically; - Rotate each image at different angles; - Change brightness and contrast settings of each image in different ways; - Apply Gaussian blur. Results The metric to evaluate our model was the Sørensen–Dice coefficient. After training, the value of thismetric is 95% on the train set and 93% on the validation set. Business value The solution helped our client to automate the process of concrete cracks detection in production and almost eliminate the need for human participation in it. This means that our solution can save a company from at least 20 human hours a week (or around $20,000/year) for each production line.

The main goal of the project was to build a solution to identify a brand-specific style using images as a data source. Style is defined as a well-known color scheme, image composition and anything that may help one to affiliate an image with some brand. For example, with theBMW trademark. In other words, we were faced with the task of classifying images.
Challenges
- Сars in the images might
distractthe neural network from its main focus (which is thebackground).
- The dataset was not big enough to achieve the required accuracy of 95% - it was only 2000 images when we needed at least 10 times more.
Solutions
- We used the Darknet YOLOv3 algorithm to detect cars in the images; removed the rectangle bounding machine/machines– replaced it with a fully transparent color;cut a randomrectangle if there were no cars in an image. It was necessaryto provide the dataset homogeneity. Otherwise, images with and without rectangles would be split into 2 different classesand it will spoil the classification.
- We have performed data augmentation and created 10 newimages from each input image with applying small transformations – rotating, scaling, horizontally flipping,filtering (changing brightness, contrast, colors of images).Now the dataset was rich enough to use it for training.
- We have built a model that steadily copes with its purpose. The accuracy value for ourclassification is 95% on the test data. In the future, with the appearance of new data (new BMWadvertising campaigns, for example), it will also be possible to train a model on these images and improve neural network accuracy.
Business value
Such a solution could help young specialists in the Product design area with making sure their ownprojects are not plagiarizing any unique traits of well-known brands and are distinctive enough on its own.

The app is aimed at users who urgently need to charge their phone and do not have a chargerand/or a socket at hand. It allows users to find the closest JumpStart charging station byusing integrated Google Maps service, get access to an available power bank by scanningthe station’s QR code, connect their phone to get necessary amount of battery charge and then automatically pay for the service with the credit card they have
linked to their profile in amobile app.
For this, we have implemented the following features & capabilities:
- Facebook, Google and Ordinary login via e-mail and password;
- Google Maps integration & Venue Ratings;
- QR Code scanner;
- Live power bank status tracking;
- Credit card scanner;
- Transaction list (Cost, Duration & Venue);
- High-security encryption;
- Third-party hardware control services integration;
- Android & Apple devices compatibility.
Challenges
- Integration with third party's service API that controls thehardware appeared to be a big challenge since the webservice, which was preferred by Client, was not completelystable and we had to deal with version control issues as well.
- From a technical point of view, the main idea of the projectwas to create a multi-platform module. Developing separateapplications for different systems was not an option so wehad to create a module that would be compatible with bothiOS and Android.
Solutions
- We have contacted the team that develops this service andjointly implement the changes that were required for furtherintegrations. The version control workflow was establishedand both systems life cycles were the life cycles of bothsystems proceed/flow in accordance with one another.
- Our front-end developer has studied the design ofmulti-platform application architecture and the principles ofrelevant technologies operation to put them in practicefurther. Thus we have created a flexible multi-platformapplication using Kotlin-Multiplatform technology that runsperfectly on both Android and iOS devices.
Several charging stations have already been set up among some of the Australian hotels. The mobile app is available in App Store and Google Play. It allows users to interact with the stations as intended and make an automatic payment transaction afterward. Payment is charged for every 15 minutes of power bank usage.

Client
A group of scientists performing research on amphibians
Business challenge
The main objective of these researches is to learn different changes in the animal population, changes in sex percentage, etc.
There are 22 different amphibian species inhabiting Germany with numerous specimens in each of those. It costs $10 to make a single injection needed for
tracking a single amphibian. The injection is needed to highlight the unique natural pattern used to identify an individual amphibian among the same species. The injection must be done twice a year. The injection itself is a quite stressful and harmful activity. In some cases, it might result in the death of an amphibian.
The only existing software that can be used as a not harmful alternative to the injections is designed for desktop, and the species recognition here costs €700.
So, our Client was looking for a cheaper and more humane method of tracking amphibians.
Solution
The application built by our team performs an individual recognition of animals in the wild with individual patterns. It is a modern approach using computer vision and machine learning which allows fast and reliable recognition of individuals within existing population databases.
Business value
- A much less expensive method of tracking amphibians than those that are used nowadays
- Unlike other existing methods of tracking, this one is humane
- The Pay-Back period was 18 month
Technologies
Dagger (Dependency Injection), GoogleMaps, Java, Kotlin, Ktor, OpenCV, PostgreSQL, Retrofit, Spring boot 2, Spring Data, Vaadin 10
Areas of expertise
Machine learning, computer vision, image processing, Google Maps, custom UI widgets, user settings persistence, camera API
Team
2 analyst, 4 developers, 1 QA specialist, 1 project manager

Client
A large company call center
Business challenge
The Client wanted to achieve the following:
- Reduce costs by optimizing the workload of call center operators;
- Make the company’s support focus on more complicated and important requests from Customers and Prospects rather than on routine ones (e.g. cancel advertising);
- Increase Customers and
Prospects’ loyalty by improving the quality of requests handling.
Solution
Our team implemented the system which includes AI-bots (AI Bot for calls, Facebook and email Bots) and a web Admin Panel.
The AI bot allows Customers and Prospects of this company to get quick and high-quality service for advertising cancellation.
The admin panel is used by the specialists of the company. The Panel lets them monitor and analyze the dialogues between the bot and Customers, Prospects in order to improve the AI bot.
Business value
- The system has allowed this Company to reduce expenses on customer service by about 4,7% per month, compared to the previous period;
- The project implementation paid off in less than 2 months.
Technologies
Java, Java Spring, JavaScript, Python, ReactJS
Areas of expertise
External services integration (Twilio, DialogFlow, Google Cloud), Speech-to-Text and Text-to-Speech transformation, Natural language processing
Team
7 employees

Client
A supplier for healthcare facilities
Business challenge
Optimization and automation of inventory replenishment process
Solution
We built a model that predicts the usage of inventory by employees. It was built with CNNs (convolutional neural networks) on Tensorflow.
Tech details: every item has an RFID mark. Usage of every item is logged by the
system: who took it, when, where, and when it was released.
A model receives a two-weeks usage historical data and predicts usage of every type of item for every day of the upcoming week. Internally, it converts the log into a matrix and passes to CNN. Then CNN produces a matrix of predicted demand for every day and a gear model.
Business value
- The implemented solution allowed our client to save up to €20.000 per year
- The implementation of the project took 2 weeks and paid off in one quarter
Technologies
Google BigQuery, Python, TensorFlow
Areas of expertise
Data Science, neural networks, Google services integration, Big data
Team
1 developer, 1 project manager

Sleep Restore is designed for people with sleep problems, such as insomnia, stress, tension
The playlist tracks use the bilateral stimulation – a treatment element of EMDR (Eye movement desensitization and reprocessing).
The application also contains a premium feature. The playlist tracks are mostly free, but there are some additional tracks, which can be purchased by a person. Moreover, the application provides free bonus-tracks after a certain number of questionnaire filling attempts.
There is also a web application. It stores all users’ questionnaire results, and allows Admin to see some statistics. Besides, the web app serves as a content management tool, so the Admin can add tracks, create playlists, edit the questionnaire contents.
Challenges
Development challenges:
Since each person is unique and thinks his own unique way, weworked a lot on the questionnaire functionality.
It’s not about just embedding the questions to the code. Thequestionnaire should be configurable, so that our customer asa clinical psychologist/researcher could edit it, add or removesome questions to be able to detect a person’s sleep problembetter.
QA challenges:
The challenge of the QA activities on this project was thenecessity to conduct testing on the multiple devices. For anAndroid application, it meant to conduct tests on the multiplemodels with different Android versions.
Solutions
To beat this challenge, we had to pass two iterations ofdeveloping this functionality. The first iteration wascomplicated and hardly usable.
So, during the second iteration, our team drew mockups, gotthe approval of them from the customer, and then implementedthe final solution. The result questionnaire functionality wasbuilt as a step-by-step wizard with the description of each step,so that our customer would be able to understand what needsto be specified at each step.
The solution has allowed the customer to add, remove, edit thequestions, possible combinations of answers to them, attach orchange the recommended tracks of each answer combination.
So the customer can be sure that the people will get a flexibleand smart set of questions to detect and solve their sleepproblems.
QA activities:
Functional testing, usability testing, compatibility testing,security testing.
QA tools:
Pixel perfect, Crashlytic, Reflector, Genymotion, Android Studio.
Results
At the moment the apps are released on Google Play and App store.
The users already comment positively on having their sleep problems solved. The average rating of theapp on Google Play is 4.5 out of 5, on the App store it is 4.1 out of 5. The customer is also satisfied withour work on the app. You can check his review below.
Technologies: Android, Angular 5, Bootstrap 3, iOS, Java, PostgreSQL, Spring
Duration: 8 months
Team: 1 analyst, 2 developers, 1 QA engineer, 1 project manager
Areas of expertise: Custom UI widgets, media player, integration with a web API, user settings persistence

The subject area of the project is medicine. To be more specific — shoulder surgery. Surgery often implies some patient’s discomfort and pain during the post-surgery recovery. Currently
The project comes up with the solution which allows users to detect the nerve structure called the brachial plexus on the ultrasound picture and the exact area in the patient’s body to implant the catheter.
Challenges
The main challenge of the project was to train and set up the neural network to provide users with a high segmentation accuracy, for which reason a lot of time was spent on setting the neural network learning rate, its size and
Solutions
To solve this problem, we chose UNet architecture. It is a special neural network architecture developed for
Results
As a result, a script connected with the neural network was developed. The ultrasound image of the shoulder joint comes as an input. As an output, there is an image with the highlighted brachial plexus
Technologies: Python, TensorFlow
Areas of expertise: Neural networks, image processing, mapping, computer Vision
Duration: less than 1 month

The project is related to medicine. The customer’s company works to discover a cure for Alzheimer and other neurodegenerative diseases. It is their ambitious research, which is striving for a
There are three main project objectives:
- Although the microscope provides scientists with a high precision of the details of cells, the human eye can still miss something important for the research. So, the first objective is to increase the research accuracy by means of Computer Vision.
- Looking through the microscope and checking the condition of every cell is time-consuming for the scientists, especially keeping in mind the problem mentioned above. So, the second objective is to reduce the time of research.
- The success of the treatment depends on how many cells remain alive after these 10 days of observation. So, the third objective is to determine how many cells remain alive, and how many cells die every day.
Challenges
The main challenge
Solutions
To solve this problem, our developer used mathematical methods such as graph theory methods.
So, here is how it works. The end solution takes a picture as an input. For the first step, we have to detect the ‘single’ little cells
When all of the cells are found, we have to determine whether they still have
Results
As a result of the project, the script was developed. As an input, it takes 10 images made via the microscope. Then the script recognizes the live and dead cells and marks them on the pictures. As an output, the script returns the images with the marked cells and several text reports which contain detailed information about the cells. The script is currently being used by our customer and is already helping them in their work.
Technologies: Python, OpenCV
Areas of expertise: Image processing, mapping, computer vision
Duration: less than 1 month

An application to automatically count drops of fluid on video. It can be used in high-precision manufacturing, pharmaceuticals, to detect potential leakages of weak equipment.
- As a result, we managed to accurately recognize the drop falling on the video and count the fallen drops.
- The data on the calculated number can be compared with the admissible values depending on the specific task and industry.
Challenges
- Video processing in order to recognize the object of interest
- Counting the number of drops
Solutions
- To catch a moving object in the video, it is needed to
leavethis single object on all the shots. For thispurposebackground and foreign objects should be removed fromtheshots . - To count the number of drops, we analyzed all shots of
thevideo to detect a stretched drop using OpenCV
Results
- As a result, we managed to accurately recognize the drop falling on the video and count the
fallendrops . - The data on the calculated number can be compared with the admissible values depending on
thespecific task and industry.
Technologies: Python
Areas of expertise: Computer vision, Image processing, Video processing
Duration: less than 1 month
Team: 1 developer

A company producing bottled products had a task to provide the quality control of its products, to achieve that, it was necessary to monitor the level of liquid in the bottle and the position of the pasted label. If the level of liquid and the position of the label do not correspond to the admissible values, the product is of poor quality.
Challenges
- Recognize and single out the object of interest (bottle)
- Determine the position of the label on the bottle
- Determine the level of liquid in the bottle
- Compare the obtained values of the position of the label
andthe level of liquid with the admissible ones
Solutions
- To single out the object of interest, we first determined
thebackground of the image obtained from the webcam.Toachieve this, we used the OpenCV function, whichallowsfiguring out the corresponding object based on thetypicalsection , and besidesremoved the “noise” outside the object. - To solve the problem of determining the position of the label
, the image is adjusted to HSV format. Then, using OpenCV, blurring of the image and "noise" reduction, the boundariesofthe label are determined. - To determine the liquid level, the image was also adjusted
toHSV format and “noise” was reduced. - The admissible values for the position of the label and
thelevel of liquid are entered into the system in advance,takinginto account the existing standards. Thesystemautomatically compares the obtained values withtheadmissible ones, based on which the conclusion aboutthequality of the product can be made.
Results
As a result, highly accurately determining the level of liquid in the bottle and the place where the label was pasted became possible, the data obtained were compared with regular results.
Comparison of the obtained values with the admissible ones allows detecting products of poor quality.
Areas of expertise: Image processing, Computer Vision
Duration: 3 weeks
Team: 1 developer

One of the main specializations of our company is Computer Vision.
Among our projects in this area there is a solution for a corporate parking lot. The idea is that the parking lot cameras find the license plates on arriving cars and the gate bar opens for the cars with authorized license plates only.
As the first step of this work, we had to develop a solution which would be able to detect and read the car’s license plates.
Challenges
- The first challenge looks obvious. We need to learn where the license plate is actually located on the car.
- The second challenge is that the license plates are different in every country, they have different fonts, the order of letters and numbers, etc. For example, the license plates in Russia have one letter at the beginning, three numbers and then two letters at the end and the area code. The main problem was that most libraries and solutions are built for the foreign countries license plates. So, we had to learn the system to recognize our country license plates as well.
- The third challenge was that there could be mistakes in recognition since it can be some sign near the license plate, or any other environment obstacle which could cause the mistake.
Solutions
To handle these challenges, we used a special library which was strictly focused on license plate recognition. But using that special library was not enough. Our developer had to customize and set it up so that the system would be able to detect a license plate in general and define its combination of letters and numbers.
Results
Currently we have a script which takes a car picture on the input, processes it inside, recognizes the license plate, and, as an output result returns a car picture with marked license plate and its content above. The script provides a high quality of recognition in most cases.
The main advantage of this script is that it can be used in any kind of application, i.e.
Technologies: PyCharm, Python
Areas of expertise: Image processing, Mapping, Computer Vision
Duration: 3 weeks
Team: 1 developer

The project was implemented for one of the Canadian oil and gas companies. The implemented business process implies recognition of the charts which are generated by two or three pens driven by sensors attached to gas pipes. These
This conversion process used to be performed manually by our customer’s employees. They had to manually delineate the contours of each trace using the mouse and then create the table with the values of the trace. Obviously, the whole process was very time-consuming and painful for the employee since he had no room for mistake.
Challenges
The main challenge we faced was how we actually
These kinds of issues were the most challenging for us
Solutions
To solve the problems which were described above, we
- Implementation of recognizing the empty chart
templatewithout any traces; Then recognizing the traces on the chart;Then recognizing the colors of each trace since thetracescan be red, black, blue, etc. It depends on the pen’s color;- Defining where the trace starts and where it ends;
- Calculation of the average value of the
trace .
To learn more about our approach to these
Results
As a result of the first
This solution is currently used by the customer’s employees and provides them with a high level
Technologies: Python
Areas of expertise: External services integration (AWS S3, AWS Lambda), Image rendering, Data mining, Image processing, Computer vision
Duration: 2 months
Team: 1 developer

The web application has been developed for a global leading provider of advanced location-based solutions (positioning systems) — Trimble Navigations. The system has 21’755’588 weekly queries with support of complex search results exceeding 270 searches/second in production.
The project is a web-portal for managing
Challenges
Development challenges:
- The client needed to considerably enlarge the system and
itsdatabase . Large volumes of data had to be migrated fromtheserver to Cloud. The client faced the problem oflowproductivity . The downtime was longer than 30 seconds. - The server deployment should be simplified and
alldependencies on a great number of technologies shouldbeexcluded . - With the project growth the number of users asking
foradditional modules increased. These modules needed tobeimplemented at the user end.
QA challenges:
- This is the SaaS application with desktop, mobile and
webclients . The application has its own virtual file systemthatstores various user contents. The application usershavedifferent roles in the application and different permissionsforapplication objects and contents. The application hasmanythird party plugins with complex business logic forspecificindustries . The application has a fewbackend services, which perform time and resource consuming actions,whichare configured with numerousbackend parameters.Theapplication can be classified as a Big Data application. Arealchallenge was the development of test data, whichwouldinclude users with various roles, multiple types ofobjectsand contents with assigned permissions for differenttypesof users. We had to take into account that the data couldbesynchronized tousers desktop with the applicationdesktopclient . - The application UI was translated
to 15 languages andaseach iteration there were changes infront end , we hadtoconduct localization testing. We had to develop aspecialprocess fortesting localization and involve translators in it. - The
development and QA teams of the projectweredistributed between 3 offices, located in the different timezones, so the QA processes we developedtook intoaccountthis fact. - The project was featured by a long iteration period, so
eachrelease consisted of a number of new features andfixedbugs . We introduced to the QA process the impact analysis, which we conducted before release testing in ordertooptimize the testing efforts. - The application has the comprehensive documentation
andsince throughout the development it was constantly updated, QA team was involved in the review of theapplicationdocumentation and manuals.
Solutions
- For solving problems of low productivity and
databasemigration our specialists used a complex approach:theyintroduced Amazon Web Services and created theirownfilesystem that improved the whole system. - Our developers used Quercus (http://quercus.caucho.com/)and integrated it with the server.
- We created a new feature Application service that makes
itpossible to add third parties’ modules. UI modules canbeintegrated with the web-portal, a business logic is writteninGroovy and it is available as REST API.
QA activities:
Functional testing, load testing, usability testing,
QA tools:
Selenium, Browser DevTools, Postman, Apache JMeter,
Results
- The client needed to considerably enlarge the system and its database. Large volumes of data had
tobe migrated from the server to Cloud. The client faced the problem of low productivity. Thedowntimewas longer than 30 seconds. - The server deployment should be simplified and all dependencies on a great number of
technologiesshould be excluded. - With the project growth the number of users asking for additional modules increased. These
modulesneeded to be implemented at the user end.
Technologies: Java, JavaScript, C++, C#, Groovy, Spring, Hibernate, Mysql
Areas of expertise: high load systems, scalability, big data, failover,
Duration: 8 years
Team: 33 employees

The prognostic solution is the only solution which provides reasonably accurate forecasts for 3 years ahead. It defines the level of malfunctions: standard, high, critical. The forecasts are based on data analysis of a great number of sensor controllers not on the analysis of past malfunctions that other systems make.
Challenges
Development challenges:
Cassantec’s customers had difficulties working with large amounts of data. The reports couldn’t be viewed in a browser.Cassentec wanted to make the report generation in thebackend faster.- The problems on the server caused instability of the
backend .
QA challenges:
This is a big data application. It processes a huge amount of data related to the forecast of possible equipment malfunction
Solutions
- The
frontend needed to be optimized. Then the reports could have been viewed in the browser on Cassantec site. - For speeding the report generation some calculations are
made in the background (so called pre-computing results). - We optimized the code and tuned
GarbageCollection .
QA activities:
Functional testing, API testing, performance testing
QA tools:
Selenium, Browser DevTools, MySQL Workbench, Putty, JIRA
Results
- We have optimized the
frontend and the reports can be viewed in the browser. We have shared our experience and written an article aboutfrontend optimization in the blog. - We have added a new feature - Machine Learning. And the reports are now generated faster.
- The system works stably and Casantec’s customers save dozens of million dollars.
ISS Art continues to assist in optimizing the work on the project as it is a long-term project.
Technologies: Java, JavaScript, Scala
Areas of expertise: browser graphic, mathematical statistics and probability theory, cloud computing, flexible configuration, forecasting, JSON data format, PDF-report generating, distributed computing, service Integration
Duration: 5 years
Team: 11 employees
ISS Art Reviews
- All Services
- Artificial Intelligence
- Relevance
- Most Recent
- Rating: high to low
- Rating: low to high

A high quality experience, well managed and with solid deliverables
Rating Breakdown
- Quality
- Schedule & Timing
- Communication
- Overall Rating
Project Detail
Review Summary
What was the project name that you have worked with ISS Art?
Machine learning model development for GIF compressor
Describe your project in brief
A web app allows users to easily compress and optimize GIFs online, automatically generating the best compression options based on the input GIF. The machine learning model ISS Art worked on is designed to help the user generate the best compression and optimization option.
What is it about the company that you appreciate the most?
Great communication. We where regularly updated on progress of the project with weekly meetings.. The team understood the requirements of the project and used initiative to dig deeper into the problem..
What was it about the company that you didn't like which they should do better?
Although not a criticism, the team didn't have prior experience with image compression which slowed the process down a little..