SO Logistics: making warehouse records dependable
- Timeline
- 1 month · 2024
- Role
- Product Designer (solo)
- Team
- Product Manager Developers
This project is under NDA. The company name has been changed.
Overview
Recording the delivery was only part of the job
SO Logistics needed to replace paper recording across four warehouses without slowing the dock. Operators had to capture vehicle details and photographs while checking goods, speaking with drivers and keeping queues moving. Those records also had to hold up later, when a delivery or damaged-goods dispute needed investigating.
As the sole product designer, I worked from remote discovery and comparative testing through build review and rollout. The work covered how operators completed a task, what happened when something went wrong, and which details the record needed to retain.
Problem
The gaps appeared when someone needed the evidence
Through conversations with operators and the warehouse team, I mapped a process that left one vehicle movement in three places: a paper entry, separate photographs and a later cloud entry. Missing information was difficult to reconstruct during a dispute. Without enough evidence, the warehouse sometimes absorbed the cost.
A photo-focused app was discussed as a smaller starting point. It could make pictures easier to find, but would leave paper errors and duplicate entry in place. I proposed bringing the details and photographs into one task, with a record that could survive interruptions and reach the warehouse even when the connection failed.
Three places to check
An investigation depended on matching them.
One record with its evidence
Sent to the cloud when a connection is available.
Design process
Fewer screens looked faster. Repeated use changed the decision.
Operators initially preferred a long form because fewer screens and Continue actions appeared quicker. I was concerned that scrolling between details and photos would make omissions harder to notice. Rather than settle this through preference alone, I designed both a long form and a stepper for comparison.
Around 20 operators from incoming and outgoing teams across all four warehouses used both builds repeatedly over four days, during real vehicle movements. I held remote debriefs, grouped recurring issues by workflow stage and reviewed them with developers and the warehouse manager.
What changed the decision
Initial preference
Fewer screens and Continue actions.
Repeated use
More scrolling, missed details or photos, and checking back.
Chosen trade-off
More taps, with progress and missing information visible at each stage.
The stepper separated details, photographs and review. We accepted the extra Continue actions because operators could check one stage at a time instead of searching a long page to decide whether the task was complete. This was a decision based on repeated use and feedback, rather than a measured speed improvement.
Put the checks where the mistakes happened
The pilot also exposed incorrect entries and missing evidence. I added field-level validation, changed pallet quantity from typed input to a 1–24 dropdown, and used photo examples to show the required truck angles. Continue stayed disabled until the mandatory details or photographs were present.
Review brought everything back together before final submission, because submitted records could not be changed later. The extra check was deliberate: operators needed an opportunity to correct the record before committing it.
Capture the required views
Continue is disabled until all required photos are captured.
Review the record
Details and photos can be checked before final submission.
A missing photo and a questionable photo needed different responses
Not every problem could be solved by blocking progress. A missing required photo was clear; whether a dark or blurry image was still usable was less certain. We made the quality warning advisory, with Retake and Use this photo, so an incorrect warning would not stop a valid job.
The same distinction mattered for an unsecured outgoing load. The recording operator did not strap the load. A hard block could encourage a false Yes just to finish, so the app warned, asked for confirmation and recorded the actual unsecured condition.
Match the response to the problem
Required photo missing
Capture the missing evidence.
Photo may be unusable
Operator checks the photograph.
Load marked unsecured
Preserve the actual condition.

Finish the task even when the connection drops
Connectivity varied between warehouses. Waiting for a connection could leave operators tied to a task after the driver was ready to move on. With the developers, I defined separate states for work still in progress, a submitted record waiting to send, and a record the server had received.
Closing the app preserved an unfinished task as a draft, including its details, photos and current step. Final Submit moved the completed record into the Outbox. The app retried automatically when connectivity returned, but showed Logged only after the server confirmed receipt. Saving on the phone and reaching the warehouse were kept distinct.
Work could stop at different points
Draft
Details and photos saved. Reopen to resume the same step.
Waiting to send
Submitted on the phone. Retries when the connection returns.
Logged
The warehouse has received the record.
On shared phones, submitted records kept the original operator's name, even if someone else signed in before the record was sent.
Waiting in the Outbox
A submitted record stays visible while it waits for a connection.
This recovery behaviour mattered in use. Operators at two warehouses reported records moving from the Outbox to Logged after the connection returned. Others reported reopening the app after rare freezes and continuing from the saved task. These reports informed follow-up conversations and build checks.
Carry the rules into the build
I documented validation, warnings, offline behaviour and recovery alongside the screens and prototypes. During build review, I checked the main tasks and recovery scenarios, recorded gaps and rechecked fixes with the developers. Before release, I focused on fixes that prevented missing evidence or lost work and helped operators resume interrupted tasks.
Outcome
Routine re-entry stopped by month three
The rollout began at all four warehouses, with roughly half the operators using the app and half staying on paper for the first month. This kept daily work running while the product stabilised. I spoke with operators weekly and worked with developers on recurring problems as adoption expanded.
By month three, the warehouse manager confirmed that all new records were arriving through the app. Routine paper re-entry had stopped, leaving the desk operator to focus on exceptions and administration.
Lower logging-error rate
First-month paper records vs third-month app records.
Lower costs from insufficient evidence
Delivery and damage disputes: three months before launch vs three months after.
Results reported by the warehouse manager.
Reflection
What I would take into the next project
See the work earlier
Remote conversations helped me understand the tasks, but depended on what people noticed and remembered. I would add a warehouse visit early in discovery to see interruptions and handoffs directly, with a live video walkthrough if a visit were not possible.
Measure before tightening the warnings
Unusable photos still occurred occasionally after launch. Before introducing stricter rejection, I would measure retakes, overrides and later evidence quality to understand whether the warning was missing problems or flagging acceptable photographs.
Next project
Operator Console
Internal communications for Delhi Police
