Desktop-on-VM did not fit warehouse work
Pick lists were printed and carried between aisles. Workers walked back to a workstation to confirm picks, log receipts, or update transfers.
The client is a US-headquartered apparel ERP. It serves fashion brands across order management, production, inventory, warehouse operations, and retail integrations.
Their warehouse module ran as a desktop application on per-customer VMs. That model limited mobility on the warehouse floor and pushed staff back to a workstation whenever they needed to update a pick, receipt, or stock count.
We rebuilt the warehouse module as a mobile-friendly React web application with barcode and QR scanning. In parallel, we built the customer-facing REST API over the existing internal OData layer.
The new WMS consumes that API. Integration partners build on it. The platform moved from a desktop-installed product to a web product with a governed, partner-ready API foundation.

The existing product architecture did not match how warehouse work actually happens. It was desktop-bound, infrastructure-heavy, slow on the floor, and hard for partners to integrate with.
Pick lists were printed and carried between aisles. Workers walked back to a workstation to confirm picks, log receipts, or update transfers.
Every new customer required infrastructure setup before going live, creating friction that did not match SaaS-speed onboarding expectations.
The OData layer was useful as an internal data interface, but it was not a stable partner contract. Every new connector became a one-off engineering project.
Picks happen in aisles. Receipts happen at the dock. Cycle counts happen on shelves. The existing tooling forced all of them back to a desktop.
We rebuilt the warehouse module as a React-based web WMS and paired it with a governed REST API platform. The web application gave warehouse teams mobility; the API gave the ERP a durable integration contract.
The architecture was designed around warehouse reality: unreliable WiFi, shared devices, scan-first operations, multi-tenant security, and one product surface across owned warehouses and 3PL partner sites.
A mobile-first responsive interface for tablets and handheld devices on the warehouse floor. It covers receiving, putaway, picking (wave and batch), packing, shipping, transfers, and cycle counts. The same application runs across owned warehouses and 3PL partner sites.
Every operation that can start with a scan does: SKU, location, carton, pick ticket. Printed pick lists were replaced with on-device assignments that update in real time. Cycle counting moved from periodic shutdowns to a continuous workflow.
We built the customer-facing REST API over the legacy OData layer. The same API powers the React WMS, client mobile and integration apps, and third-party connectors.
OAuth 2.0 authentication (user and service-to-service flows), multi-region base URLs, multi-tenant design, structured error contracts, and a published 90-day deprecation policy were all designed up front.
The platform now supports accounting, project and workflow management, retail e-commerce, and 3PL warehouse systems. Connectors run through governed APIs and signed webhook payloads.
The web WMS and API platform reinforced each other. The same governed API that powered warehouse screens became the contract partners could build against.

SKU, location, carton, or pick ticket scans open the right workflow immediately instead of sending the worker through desktop-style navigation.
Warehouse actions queue locally through dead zones and sync when the device reconnects.
The React WMS uses the same customer-facing REST API contract exposed to partners, keeping internal and external integration behavior aligned.
Versioned endpoints, OAuth 2.0, structured errors, signed webhooks, and a deprecation policy let partner connectors scale without one-off projects.
Metal shelving and concrete walls create dead zones. Operations queue locally when the connection drops and sync when it returns, with no data loss and no need for the worker to retry.
Tap targets are large. Scanning replaces typing wherever physically possible. Common operations are reachable in a single thumb action.
Login is fast and resumable. Sessions survive device handoffs. State persists across short disconnections.
The platform serves both models with the same flows, using permission-based scoping rather than separate codepaths.
We chose React for component reuse across desktop, mobile, and tablet form factors, and for long-term hiring availability.
Partners build against a stable governed contract rather than the platform internal data model.
Versioned endpoints, structured error contracts, multi-region base URLs, and a 90-day deprecation policy were core architectural decisions, not retrofits.
Scanning replaces typing wherever physically possible because warehouse work happens in motion.
The application preserves work through dead zones and short disconnections without requiring workers to retry.
Owned warehouses and 3PL partners run the same product surface with access scoped by permissions rather than separate codepaths.
The answers below cover what changed after the WMS and API platform rollout, using the measured outcomes.
Print-and-walk picking was replaced with scan-first mobile assignments that update in real time.
Warehouse workers moved faster with fewer errors. Scan-first mobile flows replaced print-and-walk picking, removing the largest source of delay and error. Picking throughput improved about 25–30%, pick-error rates dropped, and cycle counting moved from disruptive periodic events to a continuous workflow.