Over the past four years, I've got stuck in many ruts cooking the same thing. I've also had to make unexpected trips to the grocery store when I found an online recipe but, didn't have the needed ingredients. However perhaps the most annoying part of cooking is having to unlock my phone with food covered hands, just to read the next step.
What it does
Chef Alexa keeps track the food in your fridge and recommends great recipes from epicurious using the ingredients you have on hand! Alexa will read back instructions step by step, allowing you to ask her to repeat and advance instructions as needed. Instructions are also sent to your phone or tablet through the Alexa app.
How I built it
The raw voice input from the echo unit is processed through Alexa Voice Service (AVS), the result is put through a lexicographic tokenizer which attempts to match the command. If a match is found then the resulting intent is trigger in the RESTful Flask API. For non-static words (i.e food names which are not part of the command), the system uses nearest neighbor search to find potential matches.
Challenges I ran into
Cooking site APIs SUCK (aka they're all behind a pay wall). To get around paying I wrote my own python web scraper that searches epicurious for recipes with the ingredients in your fridge, then chooses one of the top results. This result is handed to a second parser I wrote which grabs the steps and reads them to you one by one.
What's next for Chef Alexa
Productionisation, my friends and I are planning to use this Alexa skill as part of our home assistant to beat Zuckerberg's Jarvis.