Barcode Scanner Shopping List

Keep a shopping list by scanning empty packaging

I made a groceries shopping list based on a barcode scanner. When a product is running out, its barcode can be scanned before tossing away the packaging. This makes reordering stuff very easy, especially groceries we need regularly or like to keep stocked. I also attached a list of barcodes for common products next to the scanner.

Quick demo: https://www.youtube.com/watch?v=31pYClpleRU

I used to keep track of groceries by grabbing my phone, unlocking, opening a list app, and typing out names of products by hand. The list could be used when ordering groceries online or in-store. Needless to say, this is hopelessly old-fashioned, and there is a better way.

The groceries scanner consists of a physical device, powered by a raspberry pi and an LCD screen and, of course, a real wireless barcode scanning device. The device runs a colourful command line client, and can be fully controlled with the barcode scanner: there's a list of barcodes for commands attached as well. You can 'scan' to different modes - add, remove, quantity 1/2/3/4, refresh, change list - and then scan the product or list name. There are also commands for exiting, rebooting, and updating the device. Finally, the barcode scanner manual is filled with barcodes for various settings, so I printed some of those as well (sound on/off, continuous scanning, offline batch scanning).

The device is backed by an API that actually saves the products, and looks up barcodes. Surprisingly, I couldn't find an official API for (international) barcode lookups (even though almost all product barcodes are unique and registered internationally), but I found one for the biggest supermarkets in the Netherlands. I also wrote a simple web interface as second client, for when you're on the go.

Git repo: https://github.com/turiphro/barcode-shopping-list

 

        -------------------------------------
        |                                   |
        |           related graph           |
        |          /             \          |
        |       graphs         relations    |
        |                                   |
        -------------------------------------