We’ve all had that experience of trying to prepare a 3 course meal, having to juggle between the different recipes and thinking about what’s the best way to optimize the time required to prepare the meal (CS problem, anybody HAHA).
What it does
SudoChef is an Amazon Alexa powered superuser speech bot that converses with you while you busy yourself cooking, over the stove or oven. On the backend, our algorithm interleaves various cooking instructions optimally such that total time spent on making your dishes will be minimized. For example, if two dishes makes use of the same ingredient, we will prepare them on the same time rather than on two separate occasions; make use of the time while boiling or baking your cooking ingredients to prepare other dishes. SudoChef has a frontend web interface which allow users to specify which recipes they wish to prepare for today’s meal. As a proof of concept, the current version of our web interface allows the user to choose from five recipes which we extracted from bigoven.com and add these recipes to their Menu of the Day. Then, we run the cooking instructions through our algorithm on the backend, such that Alexa can give the user an ordered set of instruction as the user prepares food.
Why it’s special
We feel that hacks about cooking and food are not frequently explored, but it is such a fun topic that got our entire team excited. Most people who cook often have had the experience of needing to use their hands to prepare their food, so instructions should be received in a hands-free manner, but at the same time not being able to remember every single instruction on the recipe after reading through it once or twice. Hence, Amazon Alexa’s speech functionality is particularly useful in this use case. Moreover, computers are good at logically interleaving tasks such that the entire process of cooking a meal is optimized, in the sense that total duration spent on cooking is minimized. Hence, through Hacktech, we’ve created a product that is useful for our own daily lives and hopefully others’ as well!
How we built it
We built a custom Alexa Skill for the Amazon Echo, so that it is able to read out the steps required to prepare a full meal, including appetizers, entrees and desserts. The steps were passed through a smart algorithm that could determine which steps could be performed concurrently and would help to plan out the most optimal cooking schedule for you.
Challenges we ran into
Our main challenge in this hackathon is that we took a lot of time ideating and ended up having less time to develop the product to its fullest. We also faced the challenge of having to integrate Microsoft Azure with Django due to some implicit settings and integrating django with the Amazon Echo.
Accomplishments that we’re proud of
First and foremost, understanding how Amazon Alexa’s skills and intents work was something that we always wanted to do and thus, when we accomplished it, we were super excited. Getting Amazon Alexa to respond in the way we wanted her to was definitely one of the key highlights of our Hacktech experience. We were also happy with the process of ideation that we went through. At the beginning of Hacktech, we spent a whole lot of time identifying the specific use cases for SudoChef, why it addresses a gap that users currently face, and how we can build features that excite our users and even external stakeholders such as grocery store owners. We systematically classified these features into must-haves and good-to-haves, such that we focused on key functionalities that made our product into a MVP before getting more ambitious.
What we learned
We learned that while it’s good to have many ideas with regards to future features expansion for our product, it is important to build a robust MVP that is more or less bug-free before venturing any further to the more ambitious list of features. We also learned that deploying of our application to an environment we are unfamiliar with (Microsoft Azure in this case) could be buggy and thus requires us to set aside time to fully understand what goes on behind the scenes and the boilerplate code.
This project was done during the Caltech Hackathon, Hacktech 2017 Hackathon.