Custom Inventory Management System

Rewiring Inventory For an Eyewear Manufacturer
And Retailer

How replacing an overpriced SaaS inventory system with a custom, feature-rich IMS enabled a French eyewear manufacturer and retailer to double the RFID scanning speed and accelerate tag verification x3.

Industry:
Ecommerce

Enterprise Automation

Software Product Development

Data Visualization

Business challenge

Retail companies know better than anyone that inventory is a part that can make or break your business’s success. Understocking at critical times and locations can lead to dissatisfied customers. Meanwhile, maintaining a large stockpile brings its own challenges, including storage and insurance costs, the hazards of spoilage, theft, and damage. The ability to strike the balance between having ‘too much’ and ‘not enough’ hinges on inventory management. That’s why it’s critical to take care of its accuracy, transparency, and sustainability.

However, despite the abundance and diversity of ready-made inventory products, finding the one that fits your budget and completely fits your needs is still tricky. For companies that strive for flexibility and full control over the inventory management system (IMS), custom software development is more likely to be the best bet.

Getting inventory in order was the ultimate goal of our client – a French eyewear manufacturer and retailer. It was their fourth project with *instinctools – our team had previously developed several applications for the client’s ecommerce ecosystem.

Their inventory processes were already automated and relied on barcode and RFID scanners, but the SaaS software the client used was costly and feature-limited, failing to cover the company’s operational needs.

Barcode scanners

are designed for line-of-sight scanning within one to two feet; they’re a go-to option for individual product locating and tracking.

Radio frequency identification (RFID) scanners

read data with in an up-to-20-feet range and can near-simultaneously scan multiple tags, but they lack accuracy compared to barcodes. They’re the perfect fit for large-scale tasks such as warehouse management.

As their unmet requirements for IMS functionality kept snowballing, the client faced a dilemma, whether to pour money into adding new features to their current system or invest in a custom solution.

To escape the vendor lock, they decided to opt for their own feature-rich software with unlimited scalability potential.

Solution

The client needed a device-agnostic solution that wouldn’t cost a fortune. Therefore, we went with the idea of a cross-platform app. As other client’s applications were already written in React Native, there were no doubts about the tech stack for the inventory software.

What challenges did our dedicated team face and overcome while crafting a powerful app that fully covered the client’s inventory-related workflows?

  1. Stabilizing third-party libraries
    and writing custom ones

Robust libraries are the backbone of smooth integration with barcode and RFID scanners. There are plenty of ready-made options.; However, you should have a seasoned development team able to spot the relevant ones, and write custom libraries to cover your specific inventory functionality.

To provide the client with a stable and easy-to-maintain solution, we followed four key principles when working with the libraries:

  • Avoiding a cumbersome collection of libraries

The more libraries you have, the more challenging it is to keep them up to date, resolve conflicts between them, and manage a diverse set of dependencies.

  • Preventing solution architecture complexity

Tight coupling of the software modules and dependency conflicts contribute to crafting a jerry-rigged solution with poor performance and excessive memory consumption.

  • Stabilizing third-party libraries

Ready-made options can bring critical bugs to the production code, or they may join the ranks of neglected libraries that are no longer supported. In both cases, fine-tuning is a must.

  • Striking the balance between third-party and custom libraries

Writing custom libraries takes way more time than calibrating the ready-made ones, so for the sake of development speed, it’s better to build them only for highly specific functionality not covered by the existing elements.

With the aforementioned points in mind, our team selected suitable open-source libraries for barcode scanners:

  • Capture JS for Socket Mobile
  • React Native BLE (react-native-ble-plx) for Netum

Capture JS is a stable library with detailed documentation, so it was ready to use right away, while React Native BLE was in beta and, therefore, required debugging and stabilization. Since open-source libraries provide full access to their code, *instinctools’ developers fixed it, honing performance and minimizing the overall risk of a third-party element adoption.

Meanwhile, integration with RFID scanners requires custom native libraries. For this purpose, our team utilized React Native Bridge, which works as a communication layer between native modules in Java and the client’s app in React Native with JavaScript code.

  1. Incorporating tabletop RFID readers into the overall hardware ecosystem

Alongside handheld scanners, the client also has tabletop RFID readers. Those devices were much older than the rest of the client’s warehouse and in-store hardware.

Given their age, the tabletop RFID readers:

  • Lacked basic documentation
  • Worked with byte messages
  • Ran on a .NET library, while the rest of the client’s hardware used SDK libraries

The only artifact the client had for these readers was a configuration program. Due to this, *instinctools software engineers had to:

  • Decompile the configuration program
  • Investigate the code to understand the requests the program uses for communication with tabletop devices
  • Configure the same requests in JavaScript

These actions helped standardize the tech stack for all the client’s scanners.

  1. Fighting for the app’s speed

The client wanted to seize RFID scanners’ ability to read large amounts of data and accelerate tag processing. The previous software could handle 300 tags/sec, while their RFID scanners could read 600 tags/sec. Given 15,000+ tagged items in each of the 24 eyewear boutiques across France and Belgium, the client wanted to leverage the scanners’ full capacity.

*Instinctools’ team selected asynchronous caching with scheduled cache refresh to scan the maximum number of tags per second without data streaming hiccups, rendering lags, and other performance glitches. Here’s how it works:

Thanks to using the native Java cache, the app can seamlessly handle 600 elements per second, which is twice the capacity of the client’s previous solution.

Besides doubling tag scanning speed, we’ve accelerated the tag validation process. Our team tripled the speed of data reconciliation between the back end and brick-and-mortar stores by taking advantage of native Java code.

  1. Providing integration with RFID printers

The client decided to take the enhancement of their hardware ecosystem a step further and broaden it with RFID printers. This decision allowed the company to achieve independence from the suppliers of RFID tags and save on printing costs in the long run.

To ensure everything runs smoothly on the tech side, we designed the inventory app that could integrate seamlessly with various RFID printers, from Zebra and SATO to Toshiba, to name a few. That way, the client wasn’t limited in inventory equipment options and could print RFID tags entirely in-house.

  1. Achieving inventory transparency with custom dashboards

Before cooperating with *instinctools, the client didn’t have any dashboards to track inventory levels and, therefore, lacked transparency and traceability of the relevant processes.

Ensuring data tells a clear story is one of our areas of expertise, so the dedicated team bolstered the app’s functionality with a data visualization feature.

Detailed view of a daily inventory state within a particular eyewear shop

On this tab, in-store admins can check the status of inventories conducted in their store:

  • In progress
  • Closed
  • Device issues
  • Validated
  • Missing

The staff can also see the number of expected, received, lost, and found back items, and inventory time.

Week or Semester view with inventory state over a longer period

This tab provides higher-level information about inventory status in weeks and months. Thanks to intuitive UI with color-coded table cells, it’s easy to spot inventories calling for detailed analysis:

  • Successful inventories with more than 95% of items scanned and validated by the system are green
  • Processes with device issues are orange
  • Procedures with unidentified items are red
  • Inventory-free days are gray

These custom dashboards provided the client with much-coveted traceability of inventory processes and empowered them to uncover and nip alarming issues in the bud.

Business value

Before

  • Overpriced inventory software under the vendor lock-in
  • Tabletop RFID readers run on legacy software
  • Inability to use the full capacity of RFID readers
  • Low tag validation speed
  • Lack of visibility into the inventory flow

After

  • The budget-friendly and flexible app is fully tailored to the client’s manufacturing and inventory workflows
  • Standardized and easy-to-maintain tech stack
  • Boosted RFID scanners’ reading capacity from 300 to 600 tags per second
  • x3 tag validation speed
  • Full transparency and traceability of inventory-related processes thanks to custom dashboards

Client’s testimonial

Here’s how the client’s product manager evaluates the outcomes of collaboration with *instinctools:

LMS Architecture Modernization For a SaaS Company

LMS Architecture Modernization For a SaaS Company

How dividing legacy monolithic architecture into microservices helped a global LMS producer to hop on the train of remote work with their updated LMS application for staff training and raise the number of customers worldwide by 37% without risking business continuity.

Industry:
Education

Duration:
11 months

Budget:
$200 000+

Team:
three FTE engineers, two QA specialists, project manager, business analyst

Context

With the client’s LMS platform, users can access up-to-the-minute data, staff training results, average test scores, personal tests, performance appraisals, surveys, and financial data with comparative reporting. It allows every manager to train, track and communicate with employees, plus control company compliance nationally and globally.

Challenge

Our client has been planning to modernize some parts of their LMS for a while and, as is often the case, they haven’t gotten around to it until recently. However, the delay was no longer an option since Adobe Flash, where one of the modules was written, was on its way out. Major browsers have been slowly pulling support for years now, and Adobe itself has announced that it would be stopping the development and support of Flash at the end of December 2020.

So, at that point, modernization turned from a vague long-running goal into a clear necessity, that would prevent the loss of customers. At the same time, the client wanted to leverage the situation and not only make an updated application, supported by all browsers, but also implement a bunch of new features, that would be beneficial for end-users.

The client chose *instinctools since they wanted to lift the burden of managing the project off their shoulders and put it on a Tech partner providing a dedicated team, who would take responsibility for what they do and where the project goes.

Objectives:

  • Make a module for presentation editing supported by all browsers
  • Implement a new proposed design that improves the UX
  • Implement a working product by the end of December 2020
  • Keep performance on thе same level
  • Switch from Flash to modern technology
  • Turn the presentation tool into a standalone application, that will function as a separate microservice.

Solution

*instinctools dedicated team has developed a cross-browser application supporting mobile devices and tablets. The solution was based on new secure and scalable technologies. At the final and most challenging stage of the project, we migrated all the digital assets from a legacy system to a new structured microservice application without any loss.

Key features

  • modern and engaging design
  • completely customizable assets
  • ability to export presentations as printable documents (PDF)
  • ability to undo/redo most recent actions
  • copying, pasting, deleting, and rearranging multiple slides simultaneously
  • selecting and manipulating multiple elements at the same time
  • copying selected elements from one slide to another while maintaining the original positioning of each element from the original slide
  • ability to use keyboard shortcuts

Business Value

With the brand-new version of the application delivered just in time when remote work was a rising trend, it’s become possible for its users to create inspiring and meaningful content that makes remote or in-person activities way more impactful than they used to be. It helped our client to increase loyalty to a product and gain new customers globally.

Encouraged by our collaboration, the client plans to continue improving the software module by adding new features in subsequent phases.

Technologies

Custom CRM For a Canadian Marketing Company

Custom CRM For a Canadian Marketing Company

How developing a custom CRM system allowed a marketing and promotions company to unlock deep drill-downs into customer data and boost advertising campaigns’ conversion rate by 34% while cutting down cost per lead by 21%.

Industry:
Retail & E-commerce

Duration:
3 years

Team:
full-stack engineer, tech lead, project manager, QA specialist, designer

Context

Until 2020 our client’s business was mainly offline. They placed easels with signed items or rare collectibles on various locations (restaurants, sporting events, shopping malls, etc.) and accepted via them paper bids that were processed manually by the company’s personnel.

At that time, the company addressed *instinctools to help them move the process of accepting bids and buying unique items online. As more offline businesses have gone digital after 2020, our client needed to create a unified platform for placing bids online and increasing online sales of unique goods by moving sales to eBay and Amazon platforms.

Challenge

The main task for the *instinctools team was custom CRM development with the core functionality allowing to support and process large volumes of data. The following key requirements were set regarding the use case of the software:

  • An easy & convenient way to create contacts;
  • Inventory support and basic tracking for collectibles;
  • The ability to systematically add bids into the system;
  • Reports creation and management.

After a while, when the business set a goal to reach a new market and expand its target audience, the requirements for the CRM solution were extended with new features and integrations. Furthermore, our client wanted to give end customers a single user-friendly website to find easels’ catalogs and locations, choose interesting items and place bids online.

So the *instinctools dedicated team was augmented with two more full-stack engineers and a designer to start working on the online auction system creation and a CRM optimization with the integration of e-commerce platforms and payments systems.

Solution

A web-based CRM solution is mainly built on Angular with the object-relational database system PostgreSQL.

Our solution is synchronized with e-commerce platforms: Shopify and eBay, and gathers all the information about customers and their purchases in one single data storage, significantly simplifying the sales reporting process. Sales managers now can generate detailed reports in the CRM, drilling down various parameters: team efficiency and KPIs, commission rates, etc.

Earlier all employees entered inventory, sales, customers, and other data into the system manually. We automated this process and integrated an all-in-one inventory management software, inFlow, synchronized with the CRM system.

Key features

Web-based CRM:

  • Easy-to-use interface for adding new bids into the system and their later processing.
  • Automatic contacts creation after adding new bids.
  • Reports generation and management with export to MS Excel function.

Inventory management:

  • Keep records on the stock balance of collectibles.
  • Manage collectibles (adding new, editing, deleting options, etc.).
  • Create requests for full-cycle product items processing (request / shipment / delivery confirmation / returns / return confirmation).

Online bidding platform:

  • Auction map with locations of easels.
  • Possibility to place bids without registration.
  • User-friendly and SEO-optimized page.

Business Value

Moving online, the client expanded their business offering to B2B and B2C customers all over the country and successfully increased their revenue and market share.

With automated workflows of accepting and processing bids from the landing page and easels, the client has increased employees’ capacity and reduced their workload, focusing on other activities, such as marketing and promotion.

Technologies

Angular
AWS
NodeJS
eBay
Shopify
PostgeSQL

Patient Identification Software For a US Healthcare Company

Patient Identification Software For a US Healthcare Company

How developing a wallet-friendly, BioTech-based patient identification software for healthcare institutions (HI) allowed an HDM company to cut out identification errors and record duplicates and grow its HI-base by 32%.

About the project

The idea to develop the product for patient identification came to our customer because of the acute problem of personal identification in the field of healthcare.

The fact is that there occur different problems in the registry during identification of a person: inaccuracies, identification errors, and duplication of registration details. In such cases, employees spend a lot of time looking for the correct patient records.

There are more accurate ways of personal identification. These are biometric technologies, such as fingerprint scanners or vein scanners. However, such methods are poorly distributed because of their high cost.

The product for patient identification solves the problem of identification efficiently and relatively cheaply: with the help of face identification technology. This requires the use of cheap devices, such as smartphones and tablets.

Challenge

The customer tasked our company with the development of this patient identification software. The company required us to develop an application that could be further distributed to healthcare institutions (HI).

The structure of the application should be as follows:

  • Using the application, the patient registers for an appointment with the doctor.
  • After registration, a message with a QR code comes to their phone. This code is used to verify the patient’s identity before the appointment.
  • When the patient comes to the HI, they need to scan the QR code on the device provided by the HI for verification (for example, an info kiosk or tablet).
  • Then the patient needs to approach the camera and pass face recognition.
  • After such verification, the device shows the number of the room where the patient’s appointment will take place, or an invitation to go to the registry.

Solution

We suggested developing a web and a mobile application.

We developed a mobile application (on iOS and Android platforms) for patients. It can be installed via a QR code. After installing the application, one has to enter their personal data and upload a photo. This application helps to make an appointment and receives notifications and QR codes for verification at the HI.

We have developed a web-based face recognition app for use in an HI. It is installed on the device the patient passes through during identification. The web application serves to read the QR code and recognize the patient’s face. After verification is completed, the web application shows the patient what room to go to. If the QR code does not work, the application notifies the patient of the need to approach the registry.

Moreover, a part of our work was the development of a UX/UI design.

Solution

The web-based face recognition app allows the user to:

Shoot a photo via the device camera

Enter confirmation information

Read a verification pass QR code from a smartphone

Use the app on a tablet

The mobile app allows the user to:

Sign up

Enter a set of required personal data, including a series of selfie images

Edit content entered

Keep information about appointments and other events

Save pass QR codes for each event

Integrate with a client’s server

Technologies

Web technologies:

Mobile technologies:

Ecommerce Data Platform For a Consulting Company

Ecommerce Data Platform For a Consulting Company

How developing a secure platform for sharing ecommerce data between companies became the last puzzle of a trailblazing data processing solution that empowered a German consulting organization to level up their market proposition and take on digital transformation projects.

Challenge

The customer turned to us for help in implementing its idea of an eCommerce data platform for data exchange. The idea was to develop a platform where different companies can exchange data sets on a paid or free-of-charge basis.

The platform had to comply with the Industrial Data Space Association’s standards for sharing data in data spaces.

Solution

To solve the issue, we offered and developed:

  • UX/UI design
  • web application
  • server side and API development based on Yass microservices

Key features

6CA8A951-9BB6-4CE4-8A67-876DC7D95FE4Created with sketchtool.

share your photos with friends in social networks

4FFBDDD2-0A3F-4B05-B936-6C48C2E45880Created with sketchtool.

personal or company account creation and editing

AECB8581-320D-43C8-A1A7-EB1B9D93234FCreated with sketchtool.

creation and management of closed user groups

C669A469-B4AF-4AE4-B703-5B4FE447024BCreated with sketchtool.

data sets creation and setting access rights

37E61824-7540-48BC-8E41-FA6273895386Created with sketchtool.

searching for items by filters and display of results

EDEB62E1-FDAF-4473-B489-B0C2C914699ECreated with sketchtool.

notification and shopping functionality

Technologies

Web technologies:

Angular 2
Typescript
Javascript
HTML 5
Bootstrap 4
CSS 3

Server-side technologies:

SAP Yaas
Java
JUnit
JEE
Anna Vasilevskaya
AI modified real photo
Anna Vasilevskaya
Account Executive

Get in touch

Drop us a line about your project at
[email protected] or via the contact
form below, and we will contact you soon.