We are a mighty team of 3 college freshmen, nearing our second entire month away from home. In the past two months, we've had to adjust to pretty much everything...new classes, new people, new homes, new climate, and most importantly, new food. For our first dining hall meals, we were secretly giddy with excitement when we could stack our plates with junk food without judgement. But very quickly, dining hall food got old, and we began to crave those sweet family recipes that we very much took for granted.
My family's special mango pie, Michael's mom's kimchi, or Katherine's uncle's delicious curry. Mmm, these family recipes are so precious...but also so ephemeral. We believe that family recipes forge bonds between generations and contribute to family culture. But in order to salvage these recipes for posterity, one must either write them down either on paper or online.
The tedious nature of having to document recipes after we make them is discouraging (we as coders understand the banality of documenting our code with comments). However, Amazon’s Alexa can help us solve this problem and save our family recipes!
What it does
We created a new skill for Amazon’s Alexa called CookIt, which is a personal repository for recipes. The user can store a new recipe by reciting each of the steps as he/she creates it, while Alexa concurrently records each step into the cloud. The user can also retrieve the steps of the recipes that he/she stored as he/she creates the recipe. When the user is ready for the next step, he/she says “next”, and Alexa provides the next step.
How we built it
We set up this new Alexa skill service on Amazon’s Lambda, which is a serverless compute that runs backend code. It took a good amount of time to set up our Lambda accounts, and we figured this out through video tutorials. Next, we looked at existing models for Alexa skills like a note-taking skill and a MadLib game. The MadLib game followed a similar structure to the one that we ended up using because it asks the user for an input and then stores all of the inputs together in the same file.
Challenges we ran into
We first ran into the common plight of coming up an unique idea that we could build in a limited amount of time. Next, we had trouble finding a platform that we could work on because we consist of a team of 3 freshman all new to hackathons. We had to figure how to maximize our collective coding skills to create our project. Last but not least, we experienced some major delays in creating our Amazon Lambda account. In the process of creating our account, we received a notification that we would have to wait 24 hours for our account to be confirmed by Amazon. We actually never heard back from Amazon in time, but we finally figured out a way around this issue.
Accomplishments that we're proud of
As mentioned previously, we are a team of 3 freshmen. This was all of our first college hackathons, and we knew a few languages but still had pretty limited coding experience. That being said, we are very proud of our self-initiative and determination when it sometimes seemed daunting to match up against older and more experienced hackers. Furthermore, we believe that our program idea is one that is unique and would actually be helpful to people. We even have a plethora of program updates that we could implement in the future.
What we learned
We learned that you should write everything down when brainstorming because this idea ended up as a compilation of two ideas that we had on our Google Doc. We were considering both a recipe-saver app and some usage of Amazon Alexa and ended up combining the two into CookIt. Secondly, we learned that if something isn’t working, you should try to fix the problem from as many angles as possible. For example, we fixed our problem in getting approval of our Lambda account by going at it by a different angle.
What's next for CookIt- Your personal recipe repository
1) Ingredient recognition (CookIt recognize when the human mentions an ingredient in their recipe and then stores a list of ingredients that the human can retrieve before starting their recipe).
2) Delete function so that the user can delete recipes from their repository.
3) Folders in which the manuals are stored (ex. Desserts, Appetizers, Lunch, etc.).
4) CookIt follows the general prototype of recording steps and playing them back for the user when prompted. Right now, this program only works for recipes, but eventually, we hope that it can be applied to anything that has components that could be put together. For example, someone making an art project could recite their steps to Alexa and then retrieve them later.