Walkenhorst’s: Building a custom tool to replace warehouse scanning software
- Client
- Walkenhorst's
- Industry
- Package and money delivery services
- Services Provided
- Data Management Frontend Development Mobile Web Design and Development Responsive Design Ruby on Rails Development
The Situation
A fast-moving operation shaped by years of daily use
Walkenhorst’s helps families send care packages to people incarcerated in correctional facilities. As a family-owned business, they operate two independent warehouses, manage thousands of products, and rely on tight coordination to keep orders moving.
Behind the scenes, their systems were already doing a lot of heavy lifting. A Ruby on Rails application, backed by a long-standing Microsoft SQL Server database, powered ordering, inventory, and fulfillment. The foundation was solid. The challenge was how that system showed up on the warehouse floor, during picking, packing, and constant movement.
Planet Argon began working with Walkenhorst’s in 2022, when their team needed development support that aligned with their operating hours and pace.
The Challenge
Breaking free from locked-down scanning software
Warehouse staff relied on handheld Android devices with barcode scanners. Their previous scanning setup worked, but it left little room for customization. Upgrading to new Android scanners created an opportunity to design software that better matched how work actually happened on the warehouse floor.
Walkenhorst’s didn’t want a total reset. They wanted a better way to:
- Put away stock
- Pick items for orders
- See accurate inventory levels in real time
- Generate reports they could trust
All while continuing to use the database and background jobs they had already invested in.
But there were real constraints to design around:
- An existing Microsoft SQL Server database
- Android-based handheld scanners with touch input and barcode scanning
- On-premise servers at each warehouse, being maintained locally
- A live environment where downtime wasn’t an option
We had to learn to work within a system that was already live and relied on by people every hour, every day.
The Approach
Start small. Learn fast. Build with the people using it.
We kicked things off with a focused discovery and spike phase. That meant spending time with Walkenhorst’s team to understand the flow of work inside the warehouse, not just the data structures behind it.
Key questions guided early decisions:
- What worked in the previous scanner interface?
- Where does the data live today?
- How many people are scanning at the same time?
- What did you like about the previous iteration of the handheld scanner's interface?
- What does “fast” actually feel like on the warehouse floor?
From there, we made deliberate choices. A Rails backend. A lightweight frontend built with Bootstrap JS. A design that assumed local Wi-Fi, isolated systems, and no external APIs.
Development moved forward in two-week sprints, grouped into phases. Each phase aimed toward a working MVP that could be tested in real conditions, on real devices, by real warehouse staff.
After each phase, we paused. Feedback came back. Adjustments followed.
The Outcome
A tool shaped by use, not theory
Over the course of fourteen sprints, the application grew module by module, aligned to daily warehouse tasks. As the software made its way onto the floor, small but meaningful changes emerged:
- Larger buttons for gloved hands
- Longer session timeouts
- Shorter, clearer item names
- New reporting and stock-leveling tools that weren’t part of the original plan
Because the system was already live in pieces, these refinements didn’t feel disruptive. They felt natural.
One performance issue surfaced only after the entire workforce began using the tool at scale. A database configuration bug caused some jobs to slow down or time out under heavy load. Once identified, it was fixed quickly and remained steady.
During this process, Walkenhorst's team also identified a few additional modules to add to the original plan to support reporting and stock leveling.
By the time the final module shipped, the core functionality had already been in use for months.
The Second Act
Extending the life of a system that mattered
This work was about preparing an app for its next chapter, without ever slowing it down. The next chapter had to be built while the system stayed in motion.
Walkenhorst’s didn’t need a brand-new database. And they didn’t need to rewrite everything they already understood.
They needed software that respected the systems they had, the people using them, and the pace of real warehouse work.
By building on their existing Rails foundation and adapting it to the realities of on-premise environments, we helped their tools catch up with their operations. Quietly, carefully, and on purpose.