Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Show HN: the app that powers our order fulfillment warehouse (plusbryan.com)
73 points by solfox on Dec 11, 2012 | hide | past | favorite | 22 comments


I do this for a client of mine and over the years, have found the following to be the best solution:

1. iPod Touch / iPhone with LineaPro Barcode Scanners: http://ipclineapro.com/ - managers with personal iPhones get a new case, others get iPods.

2. Enterprise iOS license, annual update of certificates is the only chore. Otherwise no worries about deployment of code to each device because it's web-based. All inventory movements, order picks/puts are real-time, wireless.

3. Basic HTML webview that goes to //intra.net/barcode/scan/[barcode] upon each scan. The web server handles the rest.

4. Use HTML5 with type=tel for entering numbers. Use PhoneGap-style JS-to-ObjC routing for playing alert/warning/success sounds.

5. QR Codes are slow. LineaPro is instant and has a red-laser.

6. Print labels on Zebra Z Series: http://www.zebra.com/us/en/products-services/printers/printe... - by POSTing an XML to the printer's IP. Design multiple labels with variable fields and in the XML include label name, number of identical copies per label, and the data per label. Prints within 0.5 second.

I think I've deployed 40 of these scanners and 10 printers and they work great in a very heavy-use environment - think 10000+ scans, 2500+ labels a day. The app itself is styled with high contrast and readability / error-minimization in mind instead of gorgeous iOS end-user color scheme. So lots of red and green backgrounds instead of shades of beige.

If you can keep the user from having to go back to a computer after each task, it can save a tremendous amount of time and effort. Native iOS apps are great for AppStore users but in intranet environment, I vastly prefer HTML5 because not only can I test the app remotely, I can add any feature I want with minimal effort and show the user anything they need to see - from daily task list and current order status to inventory by bin location and empty bins.


I've written a fulfillment engine before. It is complicated and generally does not lend itself to reuse. The reason is because the problem space is usually very specific. Building a general solution that fits everyone is near impossible.

That said Amazon actually has a Fulfillment API. The real trick is integrating your fulfillment into all your other business processes.


Open source alternative for Android: https://github.com/Genshin/SpreeAndroid



_The user enters how many boxes they want to pack and clicks Print, which prints a unique QR code inventory control label for each box. The packer affixes the QR code labels to the packed boxes, places them in the staging area, and moves onto the next box._

I've built a logistics system, where we did this until I realised that it is much more convenient to have a roll of pre-printed labels, that are scanned by the operator and then linked to a record in the application. You don't have to wait around for the printer to complete, you don't even have to input how many boxes you want to pack - You just point and scan. It also allows you to have the labels attached to the boxes in advance (or printed on). You can buy a roll of pre-printed bar codes for cheap, from print shops etc.

In general, I found that "reversing the order of control" works very well. Instead of having the system tell the operator what to do (which would be a natural solution from a software perspective), it's often much more flexible and efficient to have the operator tell the system what he did and then deal with that.


Its amazing how much people love their phones. What's the bet the warehouse employees want to supply their own phone, just so they can touch it all day.

I was involved in a project where we had to build an iOS UI for wholesale electricity traders, because the traders really wanted to be able to do their work from their phones. It wasn't driven by a business need, the starting premise was 'we need to be able to make trades from our phones', and then some waffle was constructed to justify the project.


Is... is your "warehouse" a spare room in your office?

The use of the amazon warehouse image is a funny comparison.

"Fake it 'til you make it" I guess.


That's a great solution and a great starting point for further optimizaion in the future.

As mentioned here before, I was surprised to see that this is no shipping/inventory solution for small businesses. I've searched a lot and all I can find is high end solutions for large enterprises.


Any advice on software / best practices for improving warehouse packing efficiency and accuracy? And inventory management?

We've got a warehouse that has hundreds of SKUs and processes tens of thousands of orders a day, but we're not very good at it yet.


Firstly, this website and its textbook make a pretty good primer: http://www.warehouse-science.com

As far as efficiency best practices - I can offer some names of concepts to look into:

- Picking Methods - Order picking, Multi-Order (Batch) Picking, Zone Picking, and Wave Picking. Each approach has their sweet spot regarding total # of orders and picks per order.

- Cartonization - the system looks at an order/shipment and determines the best set of boxes to use ahead of time rather than letting the picker "eyeball" it and potentially have to re-pack into a different size (or waste a larger box and extra packing material).

- Task Interleaving - which is basically about coordinating your warehouse workers to prevent them from moving around without doing some work (called dead heading).

- Slotting - arranging goods in their most optimal locations. This is a complicated subject, but can be as easy as looking at historical orders to see what products are commonly combined and physically placing them near each other (to reduce picker travel time).

As far as accuracy:

- Pick-to-light systems are expensive, but tend to increase accuracy and efficiency.

- Handhelds coupled with software that enforces scanning location and SKU barcodes (i.e. picker scans source location, source LP, enters quantity picked, and scans target LP).

- Adding a weight verification step. Your WMS can come up with a theoretical weight of a given container based on what it thinks is in the container. You can throw a Mettler-Toledo PS60 scale inline on your conveyor that leads to your shipping station/dock/trucks and compare the calculated weight against the actual measured weight and double check if its too heavy or too light (within a tolerance).

I'm the product manager for a Warehouse Management System - if you'd like to chat more, feel free to email me at my HN username @gmail.com, and I'll respond from my work email. I love talking to people in the industry - I always learn something new.


I've been working on warehousing software for the last three years, integrating various pieces of automated machinery and humans with handhelds on two continents...

Best advice I can give you is non-technical - you (usually, and probably doubly so during a recession) have some bright people working on the floor, find and empower one or two of them to guide the software process. Life became much easier when we had a "product super user" who used to be one of the floor managers for a specific set of processes, who was able to tell us what processes wouldn't work, help us think of stuff we hadn't, who knew where stock shrinkage was likely to occur, and so on...


We look at these problems constantly at Shapeways as we handle manufacturing and distribution for a ton of crazy 3d printed objects. I suggest reading this series of blog posts by Albert wenger on Continuous improvement: http://continuations.com/post/37634462048/continuous-improve...

The best advice I can give is to avoid being afraid of manual/unscalable processes. When you attack a problem, pick the immediate solution that solves your problem. It could be using a kitchen knife to breakdown boxes. Once you've used it for a bit, improve it. All too often we see a problem and try to throw software at it, only to find that our fancy sorting algorithm reduced time to pack by 6% whereas reducing the # of box sizes reduced time by 60%. (note: I just made up that example but you get the idea).


For a very easy read about warehouse management processes (not just the software aspect, but the human aspect) , I recommend "Inventory Accuracy: People, Processes, & Technology"

http://www.amazon.com/gp/product/0972763104/ref=as_li_ss_tl?...

It is a fun read with some very funny cartoons and illustrations.


It sounds like we could learn quite a bit from you! The one nice thing about our boxes is that it effectively limits the number of sku's during the fulfillment step. Rather than 5 skus per box, we have 1 box SKU. It looks like you guys fulfill customer orders, which seems like a lot of added complexity.

We haven't had a chance to really ideate around kitting yet, but I've seen how a couple big 3rd party fulfillment houses do it. My major takeaway was that you need to slap barcodes on everything.

I'd love to learn more about what you guys do and what some of the challenges have been. You can reach me at plusbryan at gmail.


hey bryan, did you guys use an existing library for the barcode scanning functionality or wrote one up from scratch?


We use zbar, which seems to work well: http://zbar.sourceforge.net/iphone/sdkdoc/


Hey Joe,

We're attempting to solve all the problems you just mentioned - we've definitely still got a lot to learn.

I would love the opp to talk further and understand your business / pain point - see if we can help or point you in the right direction.

emails in profile


Bryan, the font on your app site seems broken for me on Chrome/Windows 7. Screenshot: http://i.imgur.com/jkUkD.png


Thanks for the screenshot, we'll check it out.


I can confirm. Win8/x86/Chrome.


It's a known bug[0]; they should change the font-size of the h4 to 19px and then becomes a little better.

[0]http://code.google.com/p/chromium/issues/detail?id=137692


Bryan, out of curiosity, apart from the IOS app, which web platform has order fulfillment system been developed on?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: