Replacing paper in the warehouse: lessons from digitizing fulfillment
Moving fulfillment from clipboards to an app is less about scanning barcodes and more about modeling roles, states, and handoffs. What we learned building one end-to-end.
Behind every delivery app is a warehouse, and in a lot of growing commerce businesses that warehouse still runs on paper: printed pick lists, handwritten QC checks, and dispatch coordinated over chat. It works until volume grows, and then errors become invisible until a customer complains.
We built the Drops warehouse app end-to-end to replace that paper workflow: one Flutter codebase, four role-based experiences, covering picking through delivery handoff. Here's what mattered most.
Design for roles, not screens
A warehouse isn't one user. Pickers, quality checkers, dispatchers, and drivers each need a different slice of the same order, and each should see only what they need to do their next task.
- Give each role its own home screen built around its queue.
- Hide everything that isn't that role's job. Fewer options means fewer mistakes.
- Use the same order record underneath, so handoffs never require re-entering data.
Model the order as a state machine
Paper workflows hide state. An app shouldn't. We model each order as a series of explicit states (to pick, picked, in QC, QC passed, ready for dispatch, assigned, out for delivery, delivered), with clear rules about who can move it forward.
This one decision gives you three things for free: a live view for managers, an audit trail of who did what, and a natural place to catch errors before they leave the building.
Make scanning the default input
Typing in a warehouse is slow and error-prone. Barcode scanning should be the primary way to confirm items, totes, and orders, with manual entry as the exception. Big touch targets, high contrast, and clear success and error feedback matter more here than visual polish.
Put quality control in the flow
QC on paper is easy to skip. In the app, it's a required step between picking and dispatch, with a checklist that records what was verified. When something goes wrong later, you can see exactly where it was checked and by whom.
Give managers real-time visibility
The biggest change for operations leads is visibility. Instead of walking the floor to find a late order, they can see every order's state, who has it, and how long it's been there. That turns problem-solving from reactive to proactive.
Roll out gradually
Don't switch an entire warehouse overnight. Start with one role or one shift, run paper and app side by side briefly, and fix the friction your users report. The people doing the work will find the edge cases faster than any spec.
Digitizing fulfillment isn't about the app. It's about making every order's state and owner visible at all times.
The result at Drops was a single system of record for fulfillment: faster dispatch, fewer errors across all four roles, and real-time order visibility from picking to handoff.