I've always wanted to be a cook, or at least start learning how to cook. But every time, I would run into the same issue: the recipe's serving size would be for 4-6 people, and I just have a 1/4 lb of beef and want to make tacos for my self. My grandma would always teach me to take each ingredient, write it out, and do the division on paper to cut the rest of the ingredients by 4. This would leave me with weird units like 0.375 cups or 2.89 Table spoons, or .47 pints. These units would confuse me and make it much more difficult to cook a simple meal, so I would google each unit and manually convert it into the more human readable one. Such as taking 0.375 cups and converting it to 6 Tbsp but for every unit on the page. Much easier to work with, right.
Using Google Cloud Platform Vision API, we take a screen shot of a recipe, and convert it with the Optical character recognition methods to a custom string list which is then validated and parsed through for lines containing ingredients and there amounts. After the user can enter the divisor for how much they want to decrease or increase the recipe by, and then it will pass it through our custom Logic class which finds the most useful human readable unit for any given portion of an ingredient in the recipe such as making 0.375 cups to 6 Tbsp.
We packaged this in the form of an Android App using Java and some Google Cloud API's, such as the Vision API and the Firebase API for user authentication. We want each user to be able to store there own list of recipe's and ingredients from there screenshots.
Some challenges we ran into was implementing the Firebase Authentication took a good amount of time because of changes they made to there API I was unaccustomed to that required many more steps in the initial set up for authorization and credential tokens. The Vision API was also brand new for me so it was a really difficult thing to find the right documentation and use cases for it on Android to take an image and return the text for it.
I'm super proud of what Apprentice Chef has become and what my team has accomplished in such a short time, using OCR technology and writing all the math conversions was really tricky and challenging and I think we did a great job of it.
In the future we would like to release ApprenticeChef to the App Store and Google Play Store for all those eager apprentice chefs our there!