An application to identify amphibians

Type Machine learning algorithm
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
QA TOOLS Crashlytics, Reflector, redmine, TestLink
TEAM 2 analyst, 4 developers, 1 QA specialist, 1 project manager

The application to identify amphibians is aimed at scientists who do their researches. The main objective of these researches is to learn different changes in the animal population, changes in sex percentage, etc.

The methods of tracking amphibians that are used nowadays, affect animals’ health badly and are also rather expensive for scientists.

The application 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.


Development challenges:

Need to create a machine learning algorithm to identify amphibians using the photos of them made by the scientists via a mobile phone camera.

QA challenges:

The challenge of the QA activities on this project was to create data sets, which represented the diverse amphibians. The application runs on the Android smartphones, so it has to be tested on the variety of devices.


Our developers did a great job to figure out the logic of the algorithm.

Besides, the algorithm is the core component of the system, but we had to think about the common work logic as well. So, our analyst and UI/UX specialist were working together to build an interface which would be understandable for the scientists during their researches.

QA activities:

Functional testing, usability testing, compatibility testing.


The end solution provides the scientists with a tool for their research work. The scientists are able to take a photo of the animal and store it and its description in the database. And thanks to the algorithm the user is able to learn the number of captures for each animal in the database. This information is used to determine the number of individuals in the population.

A solution to detect a brachial plexus on an ultrasound image
A solution to detect a brachial plexus on an ultrasound image
An algorithm to count falling drops
An algorithm to count falling drops