You have all these ingredients in your kitchen but you don't know what to cook? Don't you feel sorry when you throw away food because you didn't consume it in time? Aren't you frustrated when you go to the supermarket and you need to figure out the groceries list?
The basic idea is to get control over your fridge and use all the amazing data that is available just by having a list of products.
Kitchen is one of the last places that hasn't seen a technological innovation (yet). We got promises of smart fridges but so far all they do is show the weather.
What it does
Kitchen Pad helps you understand your kitchen better. The first thing is that you can easily keep track of what you have in your kitchen. You can easily get suggestions about recipes based on the products you choose from your inventory, or get a random suggestion based on all your ingredients. You can be notified when a product is about to expire along with a possible recipe.
How we built it
The idea is to have an embedded device in your kitchen table top. Something like an iPad integrated into your kitchen. You can use to scan product (with the camera), weight them (with a capacitive resistance screen - aka. 3D touch) and use image recognition for products without a barcode.
Unfortunately such hardware is not available yet (but will be in Q4 2016 or early 2017).
Therefore, as a proof of concept, we used an off-the-shelf barcode scanner connected to a Raspberry PI. The barcode scanner is providing EAN information and sends them along to an API. The API is discovering the product information using 3rd party providers (and some web scraping) to get product photos, category and other details. That data is stored in an SQL database.
You can access the inventory from a web client (running on the Kitchen Pad device or a mobile phone / browser). From the client you can select ingredients (based on what you have in your kitchen) and get relevant recipes from the über chéf Watson. There was no API for Watson but we managed to hack our way around it. :)
Challenges we ran into
On of the issues we had was getting access to an accurate product database. Most databases are missing local product information (but have good coverage on international brands).
Finding a way to get recipe suggestions from Watson was also challenging. We had to get a mapping between the local (German, gasp!) product names and the ingredients that Watson understood.
Learning all about AngularJS and Material Design in 24 hours and building an elegant UI / UX.
Finally, the hardest… sleep deprivation.
Accomplishments that we are proud of
Connecting all the (many) dots between the device, the API, 3rd party providers and the web client.
Assembled the team on site and everybody managed to deliver on all aspects of the project.
What we learned
What's next for Kitchen Pad
Since KitchenPad has a good idea of what kind of ingredients you consumed, it should be able to easily make suggestions for a more healthy diet. We had a USB scale with us but didn't have enough time to integrate that as well. Now that the platform is there, it should be piece of cake. Image recognition for products without barcodes.
And definitely more cooking.