Before any of this was a company, I was a developer at an e-commerce company. Packing was not my job. Now and then I did it anyway, and those days are where this story starts.
When you pack every day, the way you pack becomes invisible. It is just how packing works. I packed rarely enough that it never became invisible to me: each time I stood at the table with a label printer, a laptop open on the shop admin and a shelf of products in sizes and colours, I saw the same things go wrong, and I took them back to my desk.
In the time I was there, the shop packed two ways. I want to describe both properly, because I think most shops are still using one of them and do not see it as a problem. We did not either, until we built something else.

The label pile
The first way is to print all of the day's labels at once, in the morning. Sixty orders, sixty labels, one click. It feels like the efficient choice, and for the first hour it is.
Then the day happens. At 9:15 a customer writes to change a size, and the label for order 23 is now wrong, but the label does not know that and neither does anyone else. At 10:00 two labels come off the printer stuck together, so one parcel gets two labels and another gets none. At 11:30 a label is on the floor. Which order was it? You search the admin, find it, reprint it, and now there are two of that label in the pile. Somewhere in the afternoon a parcel leaves with a label that was printed yesterday and never thrown away.
The deeper problem is that a label in a pile cannot be checked. To confirm that a label matches a box, you have to find the order in the admin and compare the items. Nobody does that sixty times a day. So nobody checks, and the pile quietly becomes the place where the mistakes are made.
We found out about each one from the customer, usually a week later.

Tab packing
The other way the shop used is the opposite. Open the order in the admin, read the items, pick them, print that one label, close the tab, next order. Every parcel gets checked against its order, because you are looking at the order while you pack it.
It is accurate. It is also slow in a way that does not show until you count it. Every order is a page load, a scroll, a print dialog and a click back to the list. Two to three minutes per order on a good day, longer when the admin is slow, and the admin is always slow in November.
And it works for exactly one person. Put a second packer on the same list and both of you open order #10254, both print its label and both pack it, while order #10255 sits there because each of you assumed the other one had it. There is no queue in a shop admin. It was built to manage orders, not to hand them out to three people at once.
That is the ceiling most shops hit without naming it: packing capacity is however fast one careful person can click. When the season comes you can hire a second packer, but the admin cannot take one.

What it was costing
Neither way felt like a crisis. That is the point. The costs were spread out, and each one had another explanation.
- Wrong parcels. Every one meant shipping out, shipping back, shipping out again, an apology and usually a discount. The customer had waited twice.
- Backlog. Dispatch drifted from same day to two or three days whenever volume rose, and the inbox filled with people asking where their order was. We blamed the carrier. It was us.
- One packer. Adding a person did not add throughput, so we did not add one, and the queue grew instead.
- Reviews. The bad ones were never about the product. They were about the wrong size arriving, or the parcel that took a week. Those reviews were born at the packing table, and we only read them afterwards.
I still think most owners underestimate this. They see the refund line and the review, and they do not connect either of them to how labels get printed. The packer knows. The packer does not choose the software. In our shop, the person who could change the software had also stood at the table, and that is the only reason this story has a next part.
The extension
Nobody can change a shop admin, so we built on top of it. The people running the shop and I designed the flow together, and I built it: a Chrome extension that ran inside the shop admin and did the packing the way we wanted, instead of the way the admin offered.
The idea was small. Take the next unpacked order. Show its items. Make the packer scan each one with a barcode scanner. If the scan matches, tick it off. If it does not, beep and refuse. When every item is ticked, print that one label and mark the order as packed, so nobody else can take it. Then the next order.
There was nothing clever in it. The scanner was the only new hardware, and it cost less than one wrong parcel. The products already had barcodes, and the few that did not got a printed SKU label, which took an afternoon. What made the extension work was what it removed: no searching, no tabs, no pile, and no way to print a label for a box that was not right.

What changed
It was night and day. The same people at the same table packed up to twice as fast, and the wrong parcels stopped. The backlog went with them. The day ended when the orders ended, not when everyone gave up.
Then there is the plus that is invisible until you have it. With a scanner doing all of the input, the packer never has to touch the keyboard or the mouse again. No search field, no order number to type, no reaching for the mouse between boxes: hands stay on the parcel and eyes stay on the shelf. It saves an amount of time and focus you cannot know before you try it, because the clicking never felt like work. It was just part of packing.
The other thing that changed was how long a new packer took to become useful: almost no time. Someone who had never seen the shop admin could take the next order and get it right on their first day, because the extension will not print a label for a box that is wrong. Training became one sentence: scan every item, and the label comes out when they all match.
Customers noticed quickly. Parcels went out the same day, the wrong-item emails stopped, and the reviews started mentioning delivery. We had not changed the products, the prices or the website. We had changed the packing table.

What the packing table taught me
I have thought about this a lot since, because the same conversation keeps happening with shop owners, and it keeps going the same way. This is the version I give them now.
- Reputation is dispatch time plus error rate. Nobody writes a review about your product page. They write about whether the right thing arrived and how long it took. Both numbers are set at the packing table.
- Accuracy and speed are the same fix. Every workaround we tried traded one for the other. Scanning gave us both, because a scanner is faster than reading and stricter than a person.
- The label is the last step, not the first. A label that exists before the box is packed is a promise you may not keep. Print it when the box is right.
- Ask the packer, or go and pack for a day. If the owner does not feel the problem, the person at the table does, and they will describe the pile or the tabs in one sentence. I only saw it because I stood there now and then, rarely enough for it to still look wrong.
Does your packing table have the same problem?
Five questions. If you answer them the way our shop would have, you are packing the way we were.
- How do you print labels: all at once in the morning, or one at a time as each box is packed?
- What happens when a customer changes an order after its label is printed?
- How many people can pack at the same time without packing the same order?
- When was the last wrong item shipped, and who told you?
- What does the queue look like on a Monday morning, and in November?
You do not need a Chrome extension to fix this. You need the label to come last, a scanner between the shelf and the box, and a queue that hands out orders. Whatever you build or buy, those three are the whole difference.