Services

  • Sites
  • Content
  • Promotion
  • Apps
All services Payment

Search

  • Разработка интернет-магазина под ключ
  • Разработка сайтов
  • Разработка леднигов
  • Разработка на битрикс24
  • Разработка на Вордпресс

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:

  1. Provided recognition of food additives directly from the label.
  2. Introduced the ability to determine the danger of a product based on its composition.
  3. 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.

Want to order a label scanner?

We will develop for you a mobile scanner application for the goals and objectives of your business. You will be able to scan text, QR codes, barcodes and other images for information or organization.

Privacy Policy

    Array
(
    [0] => WP_Post Object
        (
            [ID] => 10054
            [post_author] => 10
            [post_date] => 2022-03-07 15:29:42
            [post_date_gmt] => 2022-03-07 12:29:42
            [post_content] => 
            [post_title] => Mykola Minailo
            [post_excerpt] => 
            [post_status] => publish
            [comment_status] => closed
            [ping_status] => closed
            [post_password] => 
            [post_name] => nikolaj-minyajlo
            [to_ping] => 
            [pinged] => 
            [post_modified] => 2022-09-01 11:13:39
            [post_modified_gmt] => 2022-09-01 08:13:39
            [post_content_filtered] => 
            [post_parent] => 0
            [guid] => https://wnauts.com/?post_type=team&p=10054
            [menu_order] => 0
            [post_type] => team
            [post_mime_type] => 
            [comment_count] => 0
            [filter] => raw
        )

    [1] => WP_Post Object
        (
            [ID] => 9504
            [post_author] => 10
            [post_date] => 2022-03-05 22:40:34
            [post_date_gmt] => 2022-03-05 19:40:34
            [post_content] => 
            [post_title] => Anastasiia Kolos
            [post_excerpt] => 
            [post_status] => publish
            [comment_status] => closed
            [ping_status] => closed
            [post_password] => 
            [post_name] => anastasiya-kolos
            [to_ping] => 
            [pinged] => 
            [post_modified] => 2022-10-10 07:44:55
            [post_modified_gmt] => 2022-10-10 04:44:55
            [post_content_filtered] => 
            [post_parent] => 0
            [guid] => https://wnauts.com/?post_type=team&p=9504
            [menu_order] => 0
            [post_type] => team
            [post_mime_type] => 
            [comment_count] => 0
            [filter] => raw
        )

    [2] => WP_Post Object
        (
            [ID] => 13465
            [post_author] => 10
            [post_date] => 2022-05-30 12:16:07
            [post_date_gmt] => 2022-05-30 09:16:07
            [post_content] => 
            [post_title] => Alona Kushnir
            [post_excerpt] => 
            [post_status] => publish
            [comment_status] => closed
            [ping_status] => closed
            [post_password] => 
            [post_name] => alona-kushnir
            [to_ping] => 
            [pinged] => 
            [post_modified] => 2022-11-02 11:11:37
            [post_modified_gmt] => 2022-11-02 08:11:37
            [post_content_filtered] => 
            [post_parent] => 0
            [guid] => https://wnauts.com/?post_type=team&p=13465
            [menu_order] => 0
            [post_type] => team
            [post_mime_type] => 
            [comment_count] => 0
            [filter] => raw
        )

)

Worked on the case