West MI Distribution manages a 250,000 square-foot warehouse facility serving retail and industrial clients across the Midwest. Their picking, packing, and shipping operations were run on paper-based pick sheets, clipboards, and manual inventory counts. Workers would complete a shift, then hand their paperwork to the office staff for manual data entry.
This workflow created a 24-hour lag between physical inventory movements and system updates. Stockouts weren't discovered until a picker couldn't find an item. Shipping errors from misread handwriting resulted in costly returns. The warehouse also had significant WiFi dead zones — areas where even basic connectivity was unreliable.
West MI had tried consumer-grade inventory apps, but none could handle their barcode formats, integrate with their existing WMS database, or function reliably without a network connection. They needed a purpose-built solution designed for the physical realities of a large distribution center.
The financial impact of the paper-based system was substantial and measurable. Shipping errors averaged 47 per week, with each error costing between $85 and $340 in restocking fees, expedited shipping, and customer service time. The company was processing approximately 8,500 order lines per week, meaning their error rate hovered around 0.55% — seemingly small, but translating to roughly $9,200 in weekly losses. Manual data entry required three full-time office staff members working four hours daily just to input pick sheets, representing approximately $78,000 in annual labor costs for redundant data handling.
Worker frustration with the existing system had become a retention issue. Warehouse staff reported spending 15-20 minutes per shift searching for items that the system showed as in-stock but weren't in their designated locations. Pickers walked an estimated 12-15 miles per shift due to inefficient routing based on paper pick lists organized by order number rather than warehouse geography. The physical strain and inefficiency contributed to a 34% annual turnover rate among warehouse workers, well above the industry average of 23%. Exit interviews consistently cited frustration with outdated tools and lack of technology as contributing factors.
Previous attempts to modernize had failed in instructive ways. West MI initially purchased 15 consumer Android tablets and deployed a popular inventory management app designed for small businesses. Within two weeks, the tablets proved inadequate for the warehouse environment — screens cracked from drops, battery life couldn't sustain full shifts, and the touchscreens were unusable with work gloves. The software itself failed in the warehouse's WiFi dead zones, which comprised approximately 40% of the facility, particularly in areas with high metal shelving and concrete block walls. Workers reverted to paper within a month.
The company's existing WMS was a legacy system built on a SQL Server database with a Windows desktop interface used by office staff. It contained 15 years of historical data and complex business logic that couldn't be easily replaced. Any mobile solution needed to integrate with this system without disrupting the core operations that office staff relied on daily. The WMS vendor had no mobile offering and no plans to develop one, leaving West MI in a position where they needed <a href='/services/custom-software-development'>custom software development</a> rather than an off-the-shelf product.
The urgency for a solution intensified when West MI signed a major contract with a national retail chain that required real-time inventory visibility and 99.5% order accuracy. This contract represented 35% revenue growth but came with financial penalties for shipping errors exceeding 0.2%. Under the current paper-based system, meeting these requirements was impossible. The operations team had six months to implement a solution before the contract's quality assurance period began, after which penalties would apply. The future growth of the company depended on modernizing their warehouse operations to meet enterprise client expectations.
We've solved problems like this before. Book a quick call to discuss your situation — no obligation.
FreedomDev built a cross-platform mobile application using React Native that runs on ruggedized Android devices already deployed in the warehouse. The app's defining feature is its offline-first architecture: every function — scanning, picking, inventory adjustments — works without a network connection. Data syncs automatically when connectivity is restored.
The barcode scanning module supports all standard warehouse formats (Code 128, GS1-128, QR) and integrates directly with the existing WMS database. Workers scan items during picking and packing, and the system updates inventory counts in real-time. Location tracking within the warehouse enables optimized pick paths that reduce walking time.
A Redis-backed queue system manages synchronization between offline mobile devices and the central PostgreSQL database. When a device reconnects, transactions are replayed in order with conflict detection for the rare cases where two workers process the same item simultaneously. The operations dashboard shows real-time warehouse activity with worker productivity metrics.
The choice of React Native over native Android development was deliberate and driven by future flexibility requirements. While West MI currently standardized on ruggedized Android devices (Zebra TC52 models with integrated barcode scanners), they wanted the option to expand to iOS devices for supervisory staff without maintaining two separate codebases. React Native provided 95% code sharing between platforms while still allowing native module integration for the barcode scanning hardware. The development team used the react-native-camera library with custom native modules to interface directly with the Zebra scanner SDK, achieving scan speeds under 200 milliseconds.
The offline-first architecture required rethinking traditional client-server patterns. Rather than treating offline capability as an edge case, the application was designed with local-first data storage using SQLite as the primary database on each device. Every user action writes to the local database first, providing instant feedback and zero latency for workers. A background synchronization service monitors network connectivity and pushes queued transactions to the central server when connection is available. This approach meant that even if the server was down for maintenance, warehouse operations continued uninterrupted, with data syncing once the server returned to service.
One of the most complex technical challenges was conflict resolution for inventory transactions. The team implemented a vector clock system where each transaction receives a timestamp and device identifier. When synchronizing, the server compares transaction timestamps and applies business rules to resolve conflicts — for example, if two workers simultaneously scan the same item from different locations, the system flags this for manual review rather than automatically accepting the last write. During the first month of operation, the system detected and properly resolved 23 conflicts, preventing inventory discrepancies that would have occurred under a naive synchronization approach.
Integration with the legacy SQL Server WMS database required a middleware layer that the team built using Node.js and Express. This integration service runs on the same network as the WMS database and exposes a REST API that the mobile devices communicate with. The middleware translates mobile app transactions into the specific stored procedures and table structures that the WMS expects, preserving all existing business logic and audit trails. This approach meant that from the WMS perspective, transactions appeared identical whether entered through the legacy desktop interface or the new mobile app. The integration layer also implements rate limiting and request queuing to prevent 45 mobile devices from overwhelming the WMS database during peak sync periods.
Testing the application in realistic warehouse conditions was essential to success. FreedomDev conducted three weeks of on-site testing in the actual warehouse environment, identifying edge cases that would never appear in office testing. The team discovered that barcode labels on certain products became unreadable under the warehouse's LED lighting due to glare, requiring adjustments to the camera exposure settings. They found that workers wearing insulated gloves in the cold storage section couldn't operate touchscreens reliably, leading to the implementation of large touch targets and hardware button navigation. The testing phase also revealed that the original sync strategy created network congestion during shift changes when all devices reconnected simultaneously, prompting the implementation of a randomized sync delay to spread the load.
The development team consisted of two senior full-stack developers, one mobile specialist with React Native expertise, a DevOps engineer who managed the deployment infrastructure and Redis configuration, and a QA engineer who spent two weeks working alongside warehouse staff to understand real-world usage patterns. This team structure meant that architectural decisions incorporated input from someone who understood both the business requirements and the technical constraints of mobile development in industrial environments. The project timeline from kickoff to production deployment was 16 weeks, with the first eight weeks focused on core functionality and offline architecture, and the second eight weeks on <a href='/services/systems-integration'>systems integration</a>, testing, and refinement based on warehouse staff feedback.
FreedomDev is very much the expert in the room for us. They've built us four or five successful projects including things we didn't think were feasible.
FreedomDev's team spent three full days on-site at the West MI Distribution facility, walking the entire 250,000 square feet with floor supervisors and warehouse workers. They mapped WiFi coverage using professional site survey tools, documented dead zones, and identified 23 distinct barcode formats in use across different product categories. The team shadowed six different workers through complete shifts to understand actual workflows, pain points, and the physical demands of warehouse operations, including temperature variations between climate-controlled and cold storage areas.
The technical team spent two weeks designing the offline-first data model and synchronization protocol before writing any production code. They created detailed state diagrams showing how data flows between mobile devices and the central server, including error conditions and conflict scenarios. The architecture design document included specific technical decisions about SQLite schema design, transaction queuing strategies, and the Redis pub/sub pattern that would notify devices of inventory changes made by other workers. This upfront design work prevented costly rework during development.
Development of the React Native application took eight weeks and followed a feature-priority approach based on warehouse worker input. The team built the barcode scanning and pick list management features first, deploying them to a small test group of five workers for daily feedback. Core features including inventory adjustments, location management, and offline transaction queuing were refined through weekly iteration cycles. The interface was designed for one-handed operation with large touch targets, accommodating workers wearing gloves and carrying items in their other hand.
The synchronization engine required three weeks of dedicated development and testing to handle edge cases reliably. The team implemented a Redis-backed queue system where each device maintains an ordered transaction log with vector clocks for conflict detection. They built comprehensive automated tests simulating various failure scenarios: devices offline for extended periods, simultaneous transactions on the same inventory item, network interruptions mid-sync, and server downtime during peak operations. The conflict resolution logic was stress-tested with 10,000 simulated transactions to ensure data integrity under all conditions.
Integration with the existing SQL Server WMS database required detailed mapping of 47 database tables and 23 stored procedures that handled inventory transactions. The FreedomDev team worked closely with West MI's IT director, who maintained the legacy system, to understand business rules embedded in the database layer. The middleware integration service was built to preserve all existing audit trails, trigger the same validation logic as the desktop interface, and maintain referential integrity across the complex database schema. Integration testing involved parallel operation where transactions were recorded in both the old paper system and new mobile app to verify data accuracy.
The phased rollout began with Zone A (receiving and put-away operations) where five workers used the system exclusively for two weeks while the rest of the facility continued with paper. FreedomDev provided on-site support during this initial phase, observing usage patterns and making real-time adjustments to the interface. Training consisted of 45-minute hands-on sessions where workers practiced scanning, picking, and inventory adjustments with their actual products and locations. The rollout expanded zone-by-zone over three weeks, with each area receiving dedicated training and support until facility-wide adoption was complete. FreedomDev remained on-site for the first full week of complete deployment to address issues immediately and build worker confidence in the new system.
Make your software work for you. Let's build a sensible solution for your unique business logic.