The shortage of yeast caused by COVID-19 is finally over, and you are trying to bake a new confection. Your hands are covered in flour and cream and cheese, you can’t quite remember the next steps, and your phone screen has turned off. Not wanting to wash your hands twice in a row, you try to awkwardly turn on the screen and scroll with your elbows, and fail miserably. “I wish mom was here to just tell me what to do!” Wish no longer, because Say Soup makes cooking hands-free, at least in terms of flipping through the recipe and instructions.
Now you can cook from a recipe more easily, but don’t you just miss the experience of hosting cooking parties with your friends? During COVID-19, connection is more important, but also more difficult, than ever. Not to worry though, Say Soup to the rescue with its Add a Friend feature!
Overall, what motivated us to build Say Soup is the desire and need to make cooking by a recipe easier, and more interesting by enabling voice interactions and cooking with a friend remotely.
What it does
Say Soup is an interactive voice app cooking assistant that makes it easy to connect with and cook with others. You start by launching an app on your phone and submit a link to an online recipe. The app then processes the recipe and determines what all the steps and ingredients are so that it can begin communicating through a voice assistant.
How I built it
We created an app with a Node/Express back-end and React front-end for the user to link a recipe and to read it before starting to cook. It used the Spoonacular API to process the recipe data into separate lists of instructions and ingredients. We then used Voiceflow to build the voice app portion, and used its Google Sheets integration to bring in custom data for any online recipe webpage.
Challenges I ran into
Making Voiceflow dynamic. Since none of our team has had any experience with Voiceflow, we started off by making the flow for a single hard coded recipe. As we learned more about it, we learned that you could use Google Sheets to make “arrays”. We populated the Google Sheet from the app and read the data in Voiceflow, where we “iterated” through the array with a Voiceflow counter using conditionals and sets. We also learned how to make API calls and parse json strings to obtain specific column values on Google Sheets.
Accomplishments that I'm proud of
We’re proud of building something together in such a short amount of time that works! Each of us had a very different skill set on our team, but we came up with an idea that we all wanted to work on. Most importantly though, we had a lot of fun and got to learn something new.