Mobile App for Label Scanning

About the project: description and the objective
We were faced with the task of developing a mobile application with which it would be possible to scan product labels, or rather, the composition indicated on these labels.
Today, the topic of decoding the composition of products is quite relevant, because the vast majority of the compositions include various additives: flavors, emulsifiers, stabilizers, preservatives, and others. Usually, these additives are indicated by an alphanumeric code, which we usually call “eshki”. There are both dangerous or permissible, and absolutely safe additives, such as E-450 or sodium pyrophosphate.
It is impossible to memorize a huge number of codes, and carrying a cheat sheet with you is also impractical. Therefore, we have created a scanner that can identify and decipher various additives from the composition of products. It’s like a Google lens, but only for shopping.
Solution: technologies and plugins
By developing the Food Additive Scanner app for Android, we have solved 3 important tasks:
- Provided recognition of food additives directly from the label.
- Introduced the ability to determine the danger of a product based on its composition.
- We set up the decoding and created a detailed description of possible additives. We also ensured a stable connection of the smartphone camera.
Design
And, of course, we paid due attention to the design, making it pleasant and modern, using vector graphics of the product theme.
To indicate the degree of danger of products, we used the classic color scheme of a traffic light: red — «Dangerous», orange — «Not recommended», green — Safe.
To implement the above list, we have used several technologies and plugins.
- Async Storage is an application-wide asynchronous, unencrypted, and persistent system for storing keys and values. Usually, Async Storage is used instead of LocalStorage, which is synchronous, so it works slower and has significant restrictions on the limit of stored data.
- Stack Navigation is a convenient system for moving between screens, which allows you to go back and exit to the main menu of the application.
- MLKit OCR is a mobile SDK from Google with fairly broad basic capabilities.
We only used MLKit for reading and recognizing food ingredients, but in general it can recognize faces, objects, barcodes, etc. MLKit is convenient in that it can detect the language of the text and translate texts on the device, and it also guarantees a quick response. In addition to the «boxed» version of MLKit, there is support for custom models, which gives programmers almost unlimited possibilities — you can implement a lot of functions, for example, photo coloring, etc.
The summary
The development of mobile applications of scanner applications is increasingly required in the field of trade and business. Such software is capable of solving various tasks – from reading QR codes to decoding text on labels. A well-chosen package of technologies in a particular case was able to fully meet the needs of the task set before us.