{"contributors":[],"created":"2026-06-07T08:12","description":"At the Hackdays at Zugorama in Zug, we added hardware aspects and challenges under the slogan: \"Open Food Data meets Smart Kitchen\".","homepage":"https://food.opendata.ch#hackdays","keywords":[["dribdat","hackathon","co-creation"]],"licenses":[{"name":"ODC-PDDL-1.0","path":"http://opendatacommons.org/licenses/pddl/","title":"Open Data Commons Public Domain Dedication & License 1.0"}],"name":"event-21","resources":[{"data":[{"aftersubmit":"","boilerplate":"","certificate_path":"","community_embed":"<p>Connect to our community on\r\n<a href=\"http://bit.ly/team-food-open-data\" target=\"_blank\"><img height=\"36\" src=\"https://www.mattermost.org/wp-content/uploads/2016/04/mattermost-live-icon.gif\" hspace=\"10\">Team Chat</a>\r\n| <a href=\"http://twitter.com/opendatach\" target=\"_blank\">Twitter</a>\r\n| <a href=\"http://facebook.com/opendatach\" target=\"_blank\">Facebook</a>\r\n</p>\r\n\r\n<div class=\"codeofconduct\">All attendees, sponsors, partners, volunteers and staff at our hackathon are required to agree with the <a href=\"https://hackcodeofconduct.org/\" target=\"_blank\">Hack Code of Conduct</a>. Organisers will enforce this code throughout the event. We expect cooperation from all participants to ensure a safe environment for everybody. For more details on how the event is run, see the <a href=\"http://make.opendata.ch/wiki/information:rules\" target=\"_blank\">Guidelines</a> on our wiki.</div>\r\n\r\n<br><p><a rel=\"license\" href=\"http://creativecommons.org/licenses/by/4.0/\" target=\"_blank\"><img align=\"left\" style=\"margin-right:1em\" alt=\"Creative Commons Licence\" style=\"border-width:0\" src=\"https://i.creativecommons.org/l/by/4.0/88x31.png\" /></a>The contents of this website, unless otherwise stated, are licensed under a <a rel=\"license\" href=\"http://creativecommons.org/licenses/by/4.0/\" target=\"_blank\">Creative Commons Attribution 4.0 International License</a>.</p>","community_url":"https://twitter.com/opendatach","custom_css":"@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,700);\r\n\r\n.section-header-content h3 { background:white; display: inline-block; }\r\nsection-header-content h4 { background:white }\r\n\r\n.navbar-inverse { background: #0C0944; }\r\nbody {\r\n    font-family: Open Sans, Helvetica Neue, Helvetica, Arial, sans-serif;\r\n    color: #444;\r\n    border-top: 10px solid #ff6942;\r\n    background-image: url(https://food.opendata.ch/wp-content/themes/food.opendata.ch/images/OpenData_Banner_02.jpg);\r\n    background-repeat: no-repeat;\r\n    background-position: top center;\r\n    background-attachment: fixed;\r\n    background-color: #f7f7f7;\r\n}\r\nfooter { background: white; height: 3em; }\r\ndiv[role=main] { \r\n    overflow-x: hidden;\r\n    padding: 0px;\r\n}\r\n.container .jumbotron {\r\n    background: rgba(255,255,255,0.7);\r\n}\r\n.container .body-content { margin: 1em; }\r\n\r\n/* Center the logo */\r\n.section.section-centered { text-align: center; }\r\n.section-header .section-header-logo { margin-right:-170px; }\r\n\r\n.dashboard-page .container-fluid .sidebar {\r\n    height: 94%;\r\n}\r\n#schedule {\r\n    bottom: 0px;\r\n    display: inline-block;\r\n    position: absolute;\r\n}","description":"At the \u00abOpen Food Data Hackdays\u00bb we invite engineers, designers, agricultural and nutrition experts, entrepreneurs and students to jointly develop new solutions for a transparent and sustainable food system based on open food data.\u00a0At the Hackdays on 7 - 9 September at Zugorama in Zug, we added hardware aspects and challenges under the slogan: \"Open Food Data meets Smart Kitchen\". For more information visit [food.opendata.ch](https://food.opendata.ch)","ends_at":"2018-09-09T14:00","gallery_url":"","has_finished":true,"has_started":false,"hashtags":"","hostname":"Opendata.ch & V-Zug","id":21,"instruction":"# Resources\r\n\r\nIn addition to the tools and datasets provided in of the challenges above, we encourage you to use our recommended [data wrangling tools](https://toolbox.schoolofdata.ch), the results of the [Basel 2018](https://hack.opendata.ch/event/18), [Lausanne 2018](https://hack.opendata.ch/event/16) and [Zurich/Lausanne 2017](https://hack.opendata.ch/event/6) Hackdays, and our collection of community-curated [Data Packages](https://food.schoolofdata.ch):\r\n\r\n<div id=\"datacentral\" class=\"list-group list-datapackage\"><a class=\"btn btn-primary\">Open Data Packages</a></div><br><hr>\r\n\r\nAt the Hackdays, you are free to use these, your own, or other data - just remember to always properly **attribute your sources** and respect each license. Be aware of the *Terms of Use* before you dig in. Your experience and support will help us to open more data according to the [Open Definition](http://opendefinition.org/) and [open licenses](http://licenses.opendefinition.org/)! Visit our [Guidelines page](https://make.opendata.ch/guidelines) for more information, and please **[contact us](https://opendata.ch/organisation/contact/)** if you have any questions or suggestions. \r\n\r\n# Welcome presentation\r\n\r\n<iframe src=\"https://docs.google.com/presentation/d/e/2PACX-1vTu9rFbUxVXz8JpiPRByu2oYDtvO5KqXrU3TqyHisbuVFd8BD0JktsDV3bz0iYJ-uttowpACHOzB5OK/embed?start=false&loop=false&delayms=3000\" frameborder=\"0\" width=\"100%\" height=\"500\" allowfullscreen=\"true\" mozallowfullscreen=\"true\" webkitallowfullscreen=\"true\"></iframe>\r\n\r\n<script>window.onload = function() { \r\n$('.section-header-logo').parent().attr('href','https://food.opendata.ch');\r\n/* ---------- Datacentral embed --------- */\r\nvar dc_home = 'https://food.schoolofdata.ch'; var dc_elem = $('#datacentral');\r\ndc_elem.find('a').on('click', function() { \r\n$(this).parent().html('Loading ...'); \r\n$.getJSON(dc_home + '/api.json', function(data) { dc_elem.empty();\r\n $.each(data, function() { infos = [];\r\n  if (this.licenses && this.licenses[0] && typeof this.licenses[0].type != 'undefined') infos.push('License: ' + this.licenses[0].type);\r\n  if (this.format) infos.push('Format: ' + this.format.toUpperCase());\r\n  if (this.last_modified) infos.push('Updated: ' + this.last_modified);\r\n  dc_elem.append(\r\n    '<a href=\"' + dc_home + '/' + this.name + '\" class=\"list-group-item\" target=\"_blank\">' + this.title + '' +\r\n    '<div class=\"list-infos\">' + infos.join(\" / \") + '</div></a>'\r\n  ); });\r\n}); /* YES, YES, THIS SCRIPT WILL BE MOVED SOON! */\r\n}); }</script>","location":"Zugorama, Zug","location_lat":0.0,"location_lon":0.0,"logo_url":"https://food.opendata.ch/wp-content/themes/food.opendata.ch/images/logo.png","name":"Open Food Data x Smart Kitchen Hackdays","starts_at":"2018-09-07T16:30","summary":"At the Hackdays at Zugorama in Zug, we added hardware aspects and challenges under the slogan: \"Open Food Data meets Smart Kitchen\".","webpage_url":"https://food.opendata.ch#hackdays"}],"name":"events"},{"data":[{"autotext":null,"autotext_url":"https://gateb.shinyapps.io/reduce_food_waste/","category_id":"","category_name":"","contact_url":"https://team.opendata.ch/food/channels/subzero-squad","created_at":"2018-09-09T12:42","download_url":"","event_name":"Open Food Data x Smart Kitchen Hackdays","event_url":"https://hack.opendata.ch/event/21","excerpt":"<a class=\"btn btn-lg btn-warning\" href=\"https://gateb.shinyapps.io/reduce_food_waste/\" target=\"_blank\">DEMO</a> / <a class=\"btn btn-lg btn-info\" href=\"https://drive.google.com/file/d/1YoGUXn8-oxg0FA4ZgjKRG5qE7D_iXdBu/view?usp=sharing\" target=\"_blank\">SLIDES</a>\r\n\r\n![](https://www.dropbox.com/s/8ps89k4zsunlu36/IMG_20180909_123353-01.jpeg?dl=1)\r\n\r\n<h2 style=\"text-align: center;\"><strong>Forgetting food in the fridge is a common cause of foodwaste.</strong></h2>\r\n<p style=\"text-align: center;\"><str...","hashtag":"","id":234,"ident":null,"image_url":"https://preview.ibb.co/gLgjC9/Beat.png","is_challenge":false,"is_webembed":null,"logo_color":"#ffd5ea","logo_icon":"f211","longtext":"<a class=\"btn btn-lg btn-warning\" href=\"https://gateb.shinyapps.io/reduce_food_waste/\" target=\"_blank\">DEMO</a> / <a class=\"btn btn-lg btn-info\" href=\"https://drive.google.com/file/d/1YoGUXn8-oxg0FA4ZgjKRG5qE7D_iXdBu/view?usp=sharing\" target=\"_blank\">SLIDES</a>\r\n\r\n![](https://www.dropbox.com/s/8ps89k4zsunlu36/IMG_20180909_123353-01.jpeg?dl=1)\r\n\r\n<h2 style=\"text-align: center;\"><strong>Forgetting food in the fridge is a common cause of foodwaste.</strong></h2>\r\n<p style=\"text-align: center;\"><strong>&lsquo;Beat&rsquo;</strong> reminds you before your food expires and provides you with recipe-recommendations based on your inventory.</p>\r\n<h2 style=\"text-align: center;\">Beat the Foodwaste&nbsp;!</h2>","maintainer":"luxx86","name":"Beat","phase":"Share","progress":50,"score":99,"source_url":"https://github.com/syzer/hackaton-2018-open-food-ch","stats":{"commits":0,"during":2,"people":3,"sizepitch":706,"sizetotal":720,"total":20,"updates":16},"summary":"The Food Waste","team":"luxx86, ramonlifart, ian","team_count":3,"updated_at":"2018-11-08T23:03","url":"https://hack.opendata.ch/project/234","webpage_url":"https://gateb.shinyapps.io/reduce_food_waste/"},{"autotext":null,"autotext_url":"","category_id":"","category_name":"","contact_url":"https://www.linkedin.com/in/xia-willuhn/","created_at":"2018-09-09T12:46","download_url":"","event_name":"Open Food Data x Smart Kitchen Hackdays","event_url":"https://hack.opendata.ch/event/21","excerpt":"<h2>Problem</h2>\r\n\r\nV-Zug smart cooking devices are digitally advanced and energy efficient, but only work for a limited V-Zug provided recipes. <a href=\"https://hack.opendata.ch/project/221\">Open Food Data + Smart Kitchen Chanllenge No. 7: Unified Food Platform</a>\r\n\r\n<h2>Solution</h2>\r\n \r\nFind, filter and Integrate desired recipes from other databases and make them available in V-Zug end user App and usable within the logic of the V-Zug smart kitchen machines.\r\n\r\n<h2>Achieved</h2>\r\n\r\nEnriched ...","hashtag":"","id":235,"ident":null,"image_url":"https://www.dropbox.com/s/nx12vifgmcko3ri/IMG_20180909_124410-01.jpeg?dl=1","is_challenge":false,"is_webembed":null,"logo_color":"#fff4f4","logo_icon":"tablet-android-alt","longtext":"<h2>Problem</h2>\r\n\r\nV-Zug smart cooking devices are digitally advanced and energy efficient, but only work for a limited V-Zug provided recipes. <a href=\"https://hack.opendata.ch/project/221\">Open Food Data + Smart Kitchen Chanllenge No. 7: Unified Food Platform</a>\r\n\r\n<h2>Solution</h2>\r\n \r\nFind, filter and Integrate desired recipes from other databases and make them available in V-Zug end user App and usable within the logic of the V-Zug smart kitchen machines.\r\n\r\n<h2>Achieved</h2>\r\n\r\nEnriched <strong>Babel ZUG</strong> platform was created:\r\n\r\n- contain 188 original V-Zug recipes + 231 recipes of Nestl\u00e9 (+120% in 2 days)\r\n- each recipe could connect to V-Zug device according to cooking instructions\r\n\r\nCreated a convincing case study for <strong>more open food data</strong>:\r\n\r\n- enable cooking experience for end users more enjoyable\r\n- enable high quality kitchen device manufacturers sell more products\r\n- ensure food providers who care about quality have larger market share\r\n- overall positive impact, win-win for all parties involved\r\n- it is technically feasible\r\n\r\n\r\n<h2>How could the future look like</h2>\r\n\r\n- A <strong>unified food platform</strong> for the end users when they think about food and cooking.\r\n- <strong>Adapt recipes</strong> for end users specific food needs, like allergies, vegetarian, food co2 footprint awareness, etc.\r\n- Automated import and conversion of any recipe to use with V-Zug Machines\r\n- Automated online shopping\r\n- Food Profiling \r\n- Food Journals\r\n- Nutritional Information and tracking\r\n\r\n<h2>Presentation</h2>\r\n\r\nhttps://1drv.ms/p/s!Aj_hYoIcf3UThgmtSWMgcb6w2SsA\r\n","maintainer":"Xia","name":"Babel Fish","phase":"Prototype","progress":30,"score":77,"source_url":"https://github.com/xwilluhn/smart-kitchen","stats":{"commits":0,"during":1,"people":2,"sizepitch":1620,"sizetotal":1717,"total":38,"updates":35},"summary":"bring various recipe databases together and seamlessly integrate with V-Zug smart kitchen devices","team":"Xia, Marina","team_count":2,"updated_at":"2018-09-13T20:58","url":"https://hack.opendata.ch/project/235","webpage_url":"https://xwilluhn.github.io/smart-kitchen/"},{"autotext":null,"autotext_url":"https://github.com/AndizzleB/Eatinder","category_id":"","category_name":"","contact_url":"https://team.opendata.ch/food/channels/foodclimateimpact","created_at":"2018-09-08T20:36","download_url":"","event_name":"Open Food Data x Smart Kitchen Hackdays","event_url":"https://hack.opendata.ch/event/21","excerpt":"**EatInDer** is an app for all the *Eaters* tired of searching for the right meal, fed up with looking for the vegetarian option through random websites. For *Eaters* who think individual meals should be rated, and not just the restaurant. For *Eaters* who care about having data at hand, like whether the ingredients are sourced locally. **EatInDer** is for *Feeders:* get a search boost if you specialise in a certain category, understand demand - and get to the right place and time without the co...","hashtag":"","id":227,"ident":null,"image_url":"https://blog.datalets.ch/workshops/2018/foodhackdays/eatinder/eatinder_logo.jpg","is_challenge":false,"is_webembed":null,"logo_color":"","logo_icon":"","longtext":"**EatInDer** is an app for all the *Eaters* tired of searching for the right meal, fed up with looking for the vegetarian option through random websites. For *Eaters* who think individual meals should be rated, and not just the restaurant. For *Eaters* who care about having data at hand, like whether the ingredients are sourced locally. **EatInDer** is for *Feeders:* get a search boost if you specialise in a certain category, understand demand - and get to the right place and time without the costs of market research. **EatInDer is for food that clicks with you!**\r\n\r\n<a class=\"btn btn-lg btn-info\" href=\"https://pr.to/P74T2X/\" target=\"_blank\">WIREFRAME</a> / <a class=\"btn btn-lg btn-success\" href=\"http://eatinder.herokuapp.com/\">DEMO</a>\r\n\r\n<iframe src=\"https://docs.google.com/presentation/d/e/2PACX-1vRsCLl9mXWlB-vxV2a8AhxdIqNB_0RoyzRGpk8x9JNJCVEPxH2JSJF_SYF07MAODyVf516ouYd590nE/embed?start=false&loop=false&delayms=3000\" frameborder=\"0\" width=\"960\" height=\"569\" allowfullscreen=\"true\" mozallowfullscreen=\"true\" webkitallowfullscreen=\"true\"></iframe>","maintainer":"oleg","name":"Eat\u2022In\u2022Der","phase":"Prototype","progress":30,"score":77,"source_url":"https://github.com/AndizzleB/Eatinder","stats":{"commits":0,"during":5,"people":3,"sizepitch":1062,"sizetotal":1094,"total":11,"updates":7},"summary":"Swipe your way to a perfect meal","team":"oleg, Vera0116, loleg","team_count":3,"updated_at":"2018-09-13T23:00","url":"https://hack.opendata.ch/project/227","webpage_url":"https://eatinder.herokuapp.com/"},{"autotext":null,"autotext_url":"","category_id":"","category_name":"","contact_url":"","created_at":"2018-09-09T12:10","download_url":"","event_name":"Open Food Data x Smart Kitchen Hackdays","event_url":"https://hack.opendata.ch/event/21","excerpt":"**The Problem**\r\n\r\nMany of the platforms for recipes have the approach to be like an online cookbook or search engine for recipes. They are mostly not structured around the idea to be part of your life or support you technically with your daily decisions.\r\n\r\n**The Vision**\r\n\r\nLucia is eagerly looking for platforms which support her needs to plan her meals and nutrition for a long period of time. A platform which not only considers a single decision, like what is the next meal for today, but help...","hashtag":"","id":232,"ident":null,"image_url":"https://cdn.rawgit.com/MilKAOS/OpenDataChFoodHackdays2018/ac4bf765/Images/dish2.PNG","is_challenge":false,"is_webembed":null,"logo_color":"","logo_icon":"calendar-alt","longtext":"**The Problem**\r\n\r\nMany of the platforms for recipes have the approach to be like an online cookbook or search engine for recipes. They are mostly not structured around the idea to be part of your life or support you technically with your daily decisions.\r\n\r\n**The Vision**\r\n\r\nLucia is eagerly looking for platforms which support her needs to plan her meals and nutrition for a long period of time. A platform which not only considers a single decision, like what is the next meal for today, but help with the questions like\r\n\r\n- what are the meals for the week\r\n- what is the impact on my diet\r\n- what are the ingredients I have to shop\r\n\r\nand already anticipating some constraints by knowing which cooking tools she has, or ingredients she likes or dislikes.\r\n\r\n**The Challenge**\r\n\r\nFor that reason we teamed up for challenge #1 from DigiMeals.\r\n\r\nWe wanted to show in a prototype how to\r\n\r\n- filter the avaibale DigiMeals data\r\n- to select the meals for a week\r\n- combine it with nutritional data (from the Siwss Food Composition Database)\r\n\r\nand as result be able to get the grocery shopping list and the weekly plan.\r\n\r\nIn the end we had to compromise with the nutritional data and the simplicity of the prototype but it was workable.\r\n\r\n**The Participants**\r\n\r\nLucia Caiata and Michael Werlitz met at Friday for the first time to tackle this challenge. And we did.\r\n\r\n[Link to Presentation (via GitHub)](https://github.com/MilKAOS/OpenDataChFoodHackdays2018/blob/master/Presentation/Standardized%20Meal%20System.pptx)\r\n\r\n![](https://ucb1d50c3337caa281bff4e422d9.previews.dropboxusercontent.com/p/thumb/AAIS6JWKslVglCpF8b5Zm88YpjnPVNwHck6HiPgCv6lpO7zxUwTdsqcwO5H19iVt3slAv-2OnAhXxaEpSLbXSSlWSQL6g7AcTPNvJNAyuhoMUTqgUHwVQxUnTVylVzglTCKbOEbCRwjDruV3cUu3L0SdcommmQmfCnJpCa264UU6dWvOSBoWGVSKV2VfE5wyWOU86oauu54vLNlkb211ySnZW1hBZQDIcrivnuAJN6BVlw/p.jpeg?size=2048x1536&size_mode=3)\r\n\r\n[Challenge #1](https://hack.opendata.ch/project/213)","maintainer":"Mil","name":"Standardized Meal System","phase":"Publish","progress":40,"score":76,"source_url":"https://github.com/MilKAOS/OpenDataChFoodHackdays2018","stats":{"commits":0,"during":2,"people":2,"sizepitch":1937,"sizetotal":1976,"total":17,"updates":14},"summary":"Platform for recipes based on DigiMeals","team":"Mil, nikki_bhler","team_count":2,"updated_at":"2018-09-14T15:24","url":"https://hack.opendata.ch/project/232","webpage_url":""},{"autotext":null,"autotext_url":"https://github.com/lvbreda/foodmatters.git","category_id":"","category_name":"","contact_url":"https://team.opendata.ch/food/channels/foodmatters","created_at":"2018-09-08T15:24","download_url":"","event_name":"Open Food Data x Smart Kitchen Hackdays","event_url":"https://hack.opendata.ch/event/21","excerpt":"## **Food Matters**\r\n\r\n* * *\r\n\r\n\r\n# Why\r\n\r\nFood waste is a problem we can all relate to. To tackle this on a personal level, we needed to do research first and take a look on a global scale. \r\n\r\nWe came to the conclusion that food waste is a much bigger problem to begin with. To name a few:\r\n\r\n* **Economic:** Yearly loss of between 780 billion \u2013 1 trillion dollar.\r\n\r\n* **Climate:** If food loss and waste were a country, it\u2019d be the 3th largest greenhouse gas emitter after China and the US.\r\n\r\n* ...","hashtag":"","id":226,"ident":null,"image_url":"https://github.com/lvbreda/foodmatters/blob/master/Banner.png?raw=true","is_challenge":false,"is_webembed":null,"logo_color":"","logo_icon":"","longtext":"## **Food Matters**\r\n\r\n* * *\r\n\r\n\r\n# Why\r\n\r\nFood waste is a problem we can all relate to. To tackle this on a personal level, we needed to do research first and take a look on a global scale. \r\n\r\nWe came to the conclusion that food waste is a much bigger problem to begin with. To name a few:\r\n\r\n* **Economic:** Yearly loss of between 780 billion \u2013 1 trillion dollar.\r\n\r\n* **Climate:** If food loss and waste were a country, it\u2019d be the 3th largest greenhouse gas emitter after China and the US.\r\n\r\n* **Natural resources:** Loss of water, oil and land.\r\n\r\n* **Biodiversity:** Land conversion to agriculture is one of the greatest threats to global biodiversity\r\n\r\nThe perfect example to identify our problem with was given to us by Lander (but we can all relate):  You lookup a recipe, it tells you 20+ different ingredients, you go to the shop, buy everything and cook it. That\u2019s when you end up using 1 tablespoon of maple sirup. That bottle of maple sirup is still in your fridge and you have no idea what to do with it. Everyone has this problem on different levels but we hate throwing away food.\r\n\r\n**We believe that every piece of food in your kitchen has some serious potential.**\r\n\r\nThat\u2019s why we came up with FoodMatters!\r\n\r\n# Key features\r\n\r\n**FOODMatters generates a meal plan for a specific period of time with bulk-bought ingredients that will be completely used.**\r\n\r\n* Efficient meal planning with **ingredient memory.**\r\n\r\n* **Personalized** meal suggestions for specific amount of days.\r\n\r\n* **Grocery shopping list**based on your selection.\r\n\r\n* Easy **step-by-step recipes**with smart kitchen timer .\r\n\r\n# What\r\n\r\n* **Frederic (Design)** wrote out the concept flow followed by low fidelity wireframes (Paper). Decided the scope of the project together with the team. Made 3-4 visual concepts in sketch ( High fidelity) chose one and turned this into a clickable prototype\r\n\r\n* **Roberto (Mobile)** checked out some possible data that could be used for future implementations and integrated the kickass AI/ML backend that Lander provided together with the fancy designs of Fred into a working iOS prototype.\r\n\r\n* **Lander (Backend)** looked at the different APIs that were provided and wrote an algorithm to match ingredients between recipes. He also provided all the data that was needed to be displayed in the app.\r\n\r\n* **Ancy (Business)** made sure we had a professionally structures powerpoint presentation. She took over the business side of the project.\r\n\r\n# Challenges\r\n\r\n* Defining the scope of the project. We had so many good ideas that it was a bit hard to focus.\r\n\r\n* Matching recipes with meaningful others. We needed to exclude salt, pepper and others\r\n\r\n* We only had a limited amount of recipes to work with\r\n\r\n# Status\r\n\r\n* Backend of the working algorithm matching the recipes is up and running.\r\n\r\n* We have a working iOS prototype you can play around in.\r\n\r\n# Future\r\n\r\n* Additional **dietary preferences**(e.g. vegan, vegetarian, low-carb) and allergies.\r\n\r\n* **Refrigerator feature** to manually add food for recipe suggestions\r\n\r\n* Integration with home delivery services (e.g. Coop@home)\r\n\r\n# Who\r\n\r\nLander Van Breda ([lvbreda@gmail.com](mailto:lvbreda@gmail.com))\r\n\r\nRoberto Dries ([robertodries92@gmail.com](mailto:robertodries92@gmail.com))\r\n\r\nAncy Mechelmans ([ancymechelmans@gmail.com](mailto:ancymechelmans@gmail.com))\r\n\r\nFrederic Berghmans ([fre.berghmans@gmail.com](mailto:fre.berghmans@gmail.com))\r\n\r\n\r\n\r\n\r\n<a href=\"https://invis.io/WBNYA1TMZ6X\" target=\"_blank\" download class=\"btn btn-lg btn-success\">DESIGNS</a> / <a href=\"https://github.com/lvbreda/foodmatters/raw/master/FoodMatters_v1%20(2).pptx\" target=\"_blank\" download class=\"btn btn-lg btn-info\">SLIDES (PPTX)</a>","maintainer":"lvbred","name":"Food Matters","phase":"Publish","progress":40,"score":75,"source_url":"https://github.com/lvbreda/foodmatters","stats":{"commits":0,"during":2,"people":2,"sizepitch":3723,"sizetotal":3744,"total":13,"updates":10},"summary":"No time for leftovers","team":"lvbred, robertodries92","team_count":2,"updated_at":"2018-09-12T10:42","url":"https://hack.opendata.ch/project/226","webpage_url":""},{"autotext":null,"autotext_url":"","category_id":"","category_name":"","contact_url":"https://team.opendata.ch/food/channels/zug","created_at":"2018-09-09T11:57","download_url":"","event_name":"Open Food Data x Smart Kitchen Hackdays","event_url":"https://hack.opendata.ch/event/21","excerpt":"The [DigiMeals Open Recipe API](#bg) provides access to a set of structured recipes. In the current state, the API only provides two endpoints where one returns a very limited info about a list of recipes and the other sends a lot of data about a single recipe in one request. To get relevant data for a list of recipes a client has to send a separate request for each recipe in the list. Then, additional data from other data sources needs to be collected to show a short info about the recipe in th...","hashtag":"","id":231,"ident":null,"image_url":"","is_challenge":false,"is_webembed":null,"logo_color":"#78c35d","logo_icon":"","longtext":"The [DigiMeals Open Recipe API](#bg) provides access to a set of structured recipes. In the current state, the API only provides two endpoints where one returns a very limited info about a list of recipes and the other sends a lot of data about a single recipe in one request. To get relevant data for a list of recipes a client has to send a separate request for each recipe in the list. Then, additional data from other data sources needs to be collected to show a short info about the recipe in the list. This causes the client to make multiple requests to the API and other sources just to show the list with a few details.\r\n\r\nThe goal of the project is to suggest and design a different structure of the recipe data each API endpoint returns and to make the API calls much easier.\r\n\r\n<a href=\"https://github.com/DominikStefancik/Meals-advisor\" class=\"btn btn-lg btn-success\">Source code</a>\r\n\r\n![](https://www.dropbox.com/s/qi5tajpm9yfdqax/2018-09-09%2012.12.07.jpg?dl=1)\r\n\r\n<h3>Background</h3><a name=\"BG\"></a>\r\n\r\nThe <a href=\"https://github.com/DigiMeals/DigiMeals-Open-API\">DigiMeals Open Recipe API</a> provides access to  a continously expanding set of fully structured recipes. These recipes include not only the directions and ingredients as a text but also detailed parameters for each recipe step. The parameters provide easily accessible data to show users additional information, create new features or conduct analyses. The structured recipe data is particularly useful for connecting with smart kitchen devices or integrating into an ecosystem of applications or devices.\r\n\r\n<h3>Impact</h3>\r\nThe Open Recipe API has already been used as basis for several projects at the hackathon, e.g.:\r\n<br>\r\n  <a href=\"https://github.com/lvbreda/foodmatters/tree/master\">Food Matters</a>\r\n<br>\r\n <a href=\"https://hack.opendata.ch/project/234\">BEAT the food waste</a>\r\n<br>\r\n <a href=\"https://hack.opendata.ch/project/232\">Standardized Meal System</a>\r\n<br>\r\nWith the here suggested improvements, more projects will be able to use the API in an easier manner.\r\n\r\n<h3>Further development</h3>\r\nThe API will be continously expanded and improved. Initial feedback was collected during the hackathon and any kind of feedback or issues can be raised on the <a href=\"https://github.com/DigiMeals/DigiMeals-Open-API\">GitHub repository</a>. \r\n","maintainer":"Dominik","name":"Meals Advisor","phase":"Training","progress":20,"score":53,"source_url":"","stats":{"commits":0,"during":5,"people":2,"sizepitch":2336,"sizetotal":2366,"total":10,"updates":7},"summary":"Redesign of DigiMeals Open API","team":"Dominik, tbuerki","team_count":2,"updated_at":"2018-09-10T08:51","url":"https://hack.opendata.ch/project/231","webpage_url":"https://github.com/DominikStefancik/Meals-advisor"},{"autotext":null,"autotext_url":"","category_id":"","category_name":"","contact_url":"https://twitter.com/tamberg","created_at":"2018-09-09T12:46","download_url":"","event_name":"Open Food Data x Smart Kitchen Hackdays","event_url":"https://hack.opendata.ch/event/21","excerpt":"### Just looking around:\r\n\r\n1) Come to venue, see Wi-Fi password\r\n\r\n2) $ ifconfig => my IP, e.g. 192.168.0.23\r\n\r\n3) $ nmap 192.168.0.0-255 -p 80 => e.g. 192.168.0.42 looks like an oven\r\n\r\n4) Access 192.168.0.42/Network.html => Sicherheitseinstellungen => set user \"admin\", password \"hacked\"\r\n\r\n\r\n### Let's add SSL/TLS and remote access:\r\n\r\n5) https://yaler.net/ => RELAY_DOMAIN\r\n\r\n6) https://yaler.net/macos => ./yalertunnel installed (would run right on the oven MCU in a real deployment)\r\n\r\n7) $ ./...","hashtag":"","id":236,"ident":null,"image_url":"","is_challenge":false,"is_webembed":null,"logo_color":"#ffd479","logo_icon":"","longtext":"### Just looking around:\r\n\r\n1) Come to venue, see Wi-Fi password\r\n\r\n2) $ ifconfig => my IP, e.g. 192.168.0.23\r\n\r\n3) $ nmap 192.168.0.0-255 -p 80 => e.g. 192.168.0.42 looks like an oven\r\n\r\n4) Access 192.168.0.42/Network.html => Sicherheitseinstellungen => set user \"admin\", password \"hacked\"\r\n\r\n\r\n### Let's add SSL/TLS and remote access:\r\n\r\n5) https://yaler.net/ => RELAY_DOMAIN\r\n\r\n6) https://yaler.net/macos => ./yalertunnel installed (would run right on the oven MCU in a real deployment)\r\n\r\n7) $ ./yalertunnel server 192.168.0.42:80 ssl:try.yaler.io:443 RELAY_DOMAIN -min-listeners 8\r\n\r\n8) Access (from everywhere) https://RELAY_DOMAIN.try.yaler.io/\r\n\r\n9) E.g. on your phone https://chart.googleapis.com/chart?cht=qr&chs=150x150&choe=UTF-8&chld=H&chl=https://RELAY_DOMAIN.try.yaler.io/\r\n\r\n(Full disclosure: I'm a founder of Yaler)\r\n\r\n<img src=\"https://pbs.twimg.com/media/DmqSdfgW4AAphFg.png:large\" />","maintainer":"tamberg","name":"Remote Access","phase":"Prototype","progress":30,"score":51,"source_url":"","stats":{"commits":0,"during":9,"people":1,"sizepitch":903,"sizetotal":942,"total":19,"updates":17},"summary":"Last minute hack, started Sun, 11:55...","team":"tamberg","team_count":1,"updated_at":"2018-09-09T17:03","url":"https://hack.opendata.ch/project/236","webpage_url":""},{"autotext":null,"autotext_url":"","category_id":"","category_name":"","contact_url":"https://team.opendata.ch/food/channels/zug","created_at":"2018-09-09T11:38","download_url":"","event_name":"Open Food Data x Smart Kitchen Hackdays","event_url":"https://hack.opendata.ch/event/21","excerpt":"An attempt to enable hands-free operation of a V-ZUG Combi-Steam XSL.\r\n\r\n# Why \r\nIn the kitchen, you always lack a hand or two: pots, kids, ingredients, and a phone call.. it's often a juggling act. So voice-controlled devices are a valuable little helpers. Works in my kitchen today, for lights, timers, the family's shopping list, etc. If it also worked for some of the appliances.. that would be nice!\r\nAlso: I hear from more and more elderly people for which voice user interfaces are unbelievabl...","hashtag":"","id":230,"ident":null,"image_url":"","is_challenge":false,"is_webembed":null,"logo_color":"","logo_icon":"","longtext":"An attempt to enable hands-free operation of a V-ZUG Combi-Steam XSL.\r\n\r\n# Why \r\nIn the kitchen, you always lack a hand or two: pots, kids, ingredients, and a phone call.. it's often a juggling act. So voice-controlled devices are a valuable little helpers. Works in my kitchen today, for lights, timers, the family's shopping list, etc. If it also worked for some of the appliances.. that would be nice!\r\nAlso: I hear from more and more elderly people for which voice user interfaces are unbelievably valuable - and modern devices, like a smart phone, are super hard to work with: too hard to read, too many options, too complicated. A smart kitchen could make things actually worse for them, if an oven becomes as hard to use like a phone.  So let's see what we can do..\r\n\r\n#\u00a0What\r\n* Amazon Alexa Skill: configured a model to accept the different ways to  talk to our device, like \"tell my steamer to {mode} for {duration} at {temperature} \r\n* Amazon Lambda Functions: accept Alexa input, build and enqueue messages on the correct \"device shadow\"\r\n* Amazons IOT: our secured message queue, basically  \r\n* Local Node.js gateway: authenticates to Amazon IOT and translates the message payloads into API calls to the V-ZUG-Home API\r\n\r\n#\u00a0Challenges\r\n* Security: handling X.509 issues at night, after a hard week of work, while also helping to run the hackathon and coach teams..\r\n* Security: the device requires manual confirmation for any action that does actual work, like heating. That's 2FA! How could we design a system that is secure (safe!) enough to overcome that? Can we use other sensors of the device to detect the presence of a person? Could we craft an API that is secured enough to allow heating commands? Or will this all lead inevitably to hackers saying \"Alexa, burn the house down\"?\r\n* Voice UI design: what does an oven need to understand? Just degrees, or hotter/colder? What extreme values would we have to catch before they take effect? What would most common misunderstandings be that we'd have to catch in daily use? What personality, what tone of voice should such a device have? What special voice control features do the different programs need? The wet towel program probably should not say \"Bon app\u00e9tit\" when done?\r\n\r\n#\u00a0Status\r\nComponents above ready, test with Alexa test environment work. \r\n\r\nNext steps: \r\n\r\n- Try out in real life\r\n- Come up with a realistic threat model (denial of service, energy waste, fire hazard, privacy breaches, ..)\r\n- On the API, but also the oven level: see what we can do to create a more secure setup\r\n- On the UX level, test, test and test\r\n\r\n# Who\r\nHannes Gassert <hannes@liip.ch>\r\n\r\n","maintainer":"hannes","name":"Zulexa","phase":"Prototype","progress":30,"score":50,"source_url":"","stats":{"commits":0,"during":4,"people":1,"sizepitch":2641,"sizetotal":2701,"total":4,"updates":2},"summary":"Alexa, tell my steamer to grill for 5 minutes at 150 degrees","team":"hannes","team_count":1,"updated_at":"2018-09-09T12:50","url":"https://hack.opendata.ch/project/230","webpage_url":""},{"autotext":null,"autotext_url":"https://github.com/loleg/v-zug-recipe-parser","category_id":"","category_name":"","contact_url":"https://github.com/loleg/v-zug-recipe-parser/issues","created_at":"2018-09-09T02:44","download_url":"","event_name":"Open Food Data x Smart Kitchen Hackdays","event_url":"https://hack.opendata.ch/event/21","excerpt":"We got an interesting database of recipes to play with from [V-Zug Home](https://home.vzug.com/en/) at the Open Food Data Hackathon, used in a mobile application to program smart kitchen devices. We took a closer look and investigated ways of combining it with other data sources and tools responding to [makeopendata challenge #12](https://hack.opendata.ch/project/223). See also the [Beat project](https://hack.opendata.ch/project/234) for an exploration of this data.\r\n\r\nIn the project repository ...","hashtag":"","id":228,"ident":null,"image_url":"https://www.i-programmer.info/images/stories/News/2015/Mar/A/jupyter.jpg","is_challenge":true,"is_webembed":null,"logo_color":"","logo_icon":"","longtext":"We got an interesting database of recipes to play with from [V-Zug Home](https://home.vzug.com/en/) at the Open Food Data Hackathon, used in a mobile application to program smart kitchen devices. We took a closer look and investigated ways of combining it with other data sources and tools responding to [makeopendata challenge #12](https://hack.opendata.ch/project/223). See also the [Beat project](https://hack.opendata.ch/project/234) for an exploration of this data.\r\n\r\nIn the project repository there is a Jupyter [notebook](https://github.com/loleg/v-zug-recipe-parser/blob/master/explore-vzug-recipes.ipynb) written in Python which explores the data, along with a [script](https://github.com/loleg/v-zug-recipe-parser/blob/master/convert.py) to convert the ~150 `XML` files we received according to a schema defined in [recipe.py](https://github.com/loleg/v-zug-recipe-parser/blob/master/recipe.py). We made a very quick visualization to demonstrate the use of data analysis libraries.\r\n\r\n![](https://blog.datalets.ch/workshops/2018/foodhackdays/vzug/vzug-recipe-viz.png)\r\n\r\nWe created an example [Data Package](https://frictionlessdata.io/data-packages/) containing a summary of the dataset in `CSV` format, as well as a `JSON` formatted recipe schema proposal in [recipe.json](https://github.com/loleg/v-zug-recipe-parser/blob/master/data/recipe.json). These are proposed as a potential starting point for future discussions about developing an open standard, the advantages of which may include participation of the wider development community, better interaction with other manufacturers, and consumer trust. Here is a preview of our summary DataFrame:\r\n\r\n<table class=\"dataframe\" border=\"1\">\r\n  <thead>\r\n    <tr>\r\n      <th></th>\r\n      <th>name</th>\r\n      <th>ingredients</th>\r\n      <th>instructions</th>\r\n      <th>skill</th>\r\n      <th>duration</th>\r\n    </tr>\r\n  </thead>\r\n  <tbody>\r\n    <tr>\r\n      <th>0</th>\r\n      <td>Mozzarella, green bean and onion mash</td>\r\n      <td>8</td>\r\n      <td>2</td>\r\n      <td>easy</td>\r\n      <td>fast</td>\r\n    </tr>\r\n    <tr>\r\n      <th>1</th>\r\n      <td>Apple puff pastry horseshoes</td>\r\n      <td>6</td>\r\n      <td>5</td>\r\n      <td>easy</td>\r\n      <td>medium</td>\r\n    </tr>\r\n    <tr>\r\n      <th>2</th>\r\n      <td>Tarte Tatin</td>\r\n      <td>4</td>\r\n      <td>2</td>\r\n      <td>moderate</td>\r\n      <td>medium</td>\r\n    </tr>\r\n    <tr>\r\n      <th>3</th>\r\n      <td>Mashed potato with lime</td>\r\n      <td>4</td>\r\n      <td>3</td>\r\n      <td>easy</td>\r\n      <td>fast</td>\r\n    </tr>\r\n    <tr>\r\n      <th>4</th>\r\n      <td>Duck breast with a honey and soy glaze and plu...</td>\r\n      <td>16</td>\r\n      <td>3</td>\r\n      <td>moderate</td>\r\n      <td>medium</td>\r\n    </tr>\r\n  </tbody>\r\n</table>\r\n\r\nAnd `JSON` schema:\r\n\r\n```json\r\n{\r\n  \"uuid\": \"vzug.internet.05.erdbeersirup\",\r\n  \"supported-languages\": [\r\n    \"de\",\r\n    \"en\",\r\n    \"fr\",\r\n    \"it\"\r\n  ],\r\n  \"name\": {\r\n    \"de\": \"Erdbeersirup\",\r\n    \"en\": \"Strawberry syrup\",\r\n    \"fr\": \"Sirop de fraise\",\r\n    \"it\": \"Sciroppo di fragole\"\r\n}, \r\n...\r\n```\r\n\r\n# Preparation\r\n\r\nNo special libraries are required to use the parsing script. The conversion script `convert.py` references the [Python Data Analysis](https://pandas.pydata.org/) library for CSV file generation. The Jupyter notebook includes some data analysis using the Pandas, Numpy and Matplotlib libraries. You can find some setup [instructions here](https://forum.schoolofdata.ch/t/14-9-wikidata-zurich-workshop/267/2). The schema of this Data Package was inferred using [Frictionless Data](https://frictionlessdata.io/field-guide/) CLI tools.\r\n\r\n# Research\r\n\r\nIn this project we conducted some background research of schemas used in other recipe application, particularly of interest are these cloud providers:\r\n\r\n- [Yummly API](https://developer.yummly.com/documentation)\r\n- [Spoonacular API](https://spoonacular.com/food-api)\r\n\r\nAnd these open source initiatives:\r\n\r\n- [OpenRecipeFormat](https://github.com/techhat/openrecipeformat) ([Walkthrough](https://open-recipe-format.readthedocs.io/en/latest/topics/tutorials/walkthrough.html))\r\n- [hRecipe Microformat](http://microformats.org/wiki/h-recipe)\r\n\r\n# License\r\n\r\nThe licensing terms of this dataset have not yet been established. If you intend to use these data in a public or commercial product, check with each of the data sources for any specific restrictions.\r\n\r\nThis Data Package is made available by its maintainers under the [Public Domain Dedication and License v1.0](http://www.opendatacommons.org/licenses/pddl/1.0/), a copy of the full text of which is in [LICENSE.md](LICENSE.md).\r\n","maintainer":"oleg","name":"Recipe Schema Fun","phase":"Challenge","progress":0,"score":45,"source_url":"https://github.com/loleg/v-zug-recipe-parser","stats":{"commits":0,"during":7,"people":2,"sizepitch":4618,"sizetotal":4654,"total":11,"updates":8},"summary":"Exploring and repackaging V-ZUG data","team":"oleg, Dominik","team_count":2,"updated_at":"2018-09-11T21:51","url":"https://hack.opendata.ch/project/228","webpage_url":"https://github.com/loleg/v-zug-recipe-parser/blob/master/explore-vzug-recipes.ipynb"}],"name":"projects"}],"sources":[{"path":"https://hack.opendata.ch/","title":"dribdat"}],"title":"Open Food Data x Smart Kitchen Hackdays","version":"0.9.3"}
