Inventory Management Application for a Motorcycle Accessories Store
Embedded app development that helped streamline the company’s inventory operations
ABOUT
the project
Client:
Location:

USA
Company Size:
Industry:
Retail
Solution:
The application runs on Zebra and Honeywell scanner devices powered by the Android operating system. It includes an inventory mode that enables barcode scanning, price validation, and data synchronization with the company’s database. The app also seamlessly integrates with a Zebra printer to print receipts and inventory reports with precise formatting
The biggest challenge was working with the hardware, as there was little to no documentation on how to integrate it properly. There weren’t many existing solutions to follow, so we had to find our own way to make it work

Customer
Our customer, a motorcycle accessories store, needed a solution to simplify and automate its inventory management process. They needed a robust solution that would automate inventory management, ensure real-time validation of scanned items, and seamlessly integrate with their existing hardware, including Zebra barcode scanners and printers.
Business Challenge
The client lacked an integrated system for direct communication between barcode scanning devices and their database. The existing process relied on manual barcode scanning and data entry, which was time-consuming and prone to errors. Employees had to scan items using a basic application that only stored scanning history locally, requiring them to manually transfer data into the central database. This often led to discrepancies, misplaced records, and inefficiencies in stock tracking.
Why Leobit
Our customer chose Leobit for our expertise in cross-platform app development and our ability to handle complex integrations with hardware components, including barcode scanners and receipt printers.
Project
in detail
A key challenge in developing the inventory management application was ensuring seamless integration with Zebra scanner devices and printers, which required a deep understanding of embedded development principles. Since the application interacts directly with specialized hardware, Leobit implemented custom solutions to bridge the gap between Flutter and the native functionality of the Zebra and Honeywell devices



Proprietary SDK development
Leobit developed a custom SDK to ensure the proper work of the Zebra scanner with the printer. Since the Zebra scanner SDK lacked direct Flutter support, Leobit built a native-to-Flutter bridge using Method Channels. This ensured that scanned data was processed instantly, thanks to updating the local Hive database and syncing with the backend when needed.
The Zebra printer posed another challenge, as it did not provide the necessary authentication certificate for pairing. To overcome this, Leobit created a custom Java-based Bluetooth module, which helped us bypass the certificate requirement and enable smooth communication. Additionally, the printer did not supply the required connection libraries, making it impossible to process essential data. To resolve this, Leobit manually rewrote the Bluetooth library. This allowed the app to establish a connection and effectively communicate with the printer.

Custom app update mechanism
Given that the application was not distributed through the Google Play Store, Leobit developed a custom update delivery system. App builds were uploaded to private servers hosted on Azure Blob Storage and managed via a web-based admin panel built with Angular and .NET.
Flutter apps on devices routinely check for updates through API calls. If a new build was available, the app downloaded it and self-updated without user intervention. The admin panel allowed developers to manage active builds, roll back to previous versions, or delete faulty updates. App binaries were stored on Azure Blob Storage, ensuring scalability and reliability.

Integration with postal service
The solution included direct integration with the local postal carrier. When deliveries arrived, employees could scan postal barcodes, and the system would immediately recognize the incoming shipment, mark it as received in the back end, and optionally ping the postal service’s API to confirm delivery.
In the case of returns, the system allowed staff to scan returned items, automatically generate a return invoice with a tracking number, and print a shipping label for processing. This allowed us to fully automate the return logistics flow.
Technology Solution
- Custom Bluetooth library development for reliable printer communication
- Flutter-based architecture for intuitive UI and faster development
- Advanced integrations with hardware devices through custom SDK development
- The use of Hive local storage for offline access, storing and quickly retrieving scanned inventory data
- Developed back-end endpoints for integration with the inventory module
- Integration with local postal service API
Value Delivered
- Reduced manual errors thanks to automated inventory tracking
- Streamlined inventory process
- Automated flow for parcel acceptance and return logistics