We've all been in the situation where we've got a full fridge of groceries but no idea what to do with them. This app gives a quick way to get some suggestions for dinner. People can start to eat healthier if they are aware of the delicious meals they can cook!

What it does

Clarifood is an Android app that lets users scan in pictures of the ingredients they have on hand and gives back a list of dishes that they can make from it. By scanning from a camera, making an inventory of ingredients is easy and fast!

How we built it

We use Clarifai's Image Recognition API to identify ingredients and query our Azure backend with the list of ingredients to get a recipe. The backend is powered by Node.js and works with Azure SQL Databases to give back possible dishes given the ingredients.

Challenges we ran into

A lot of the problem spaces we placed ourselves in were new to us. On the frontend side, none of us ever did any Android so that was difficult. On the backend side, we struggled with working with asynchronous code.

Accomplishments that we're proud of

Anthony Ha: I'm proud of all the front end work Kristy, Tremaine, and I were able to do. Starting out all doing separate things but then seeing all of our work come together and actually work was awesome!

Derek Wenger: I was really excited when the recipe generation algorithm all came together after hours of hard work, it was really rewarding to see it finally work.

Kristy Bui: I really enjoyed getting to learn how to create an Android UI and how we were all able to overcome challenges of our own throughout the process.

Riley Chang: I'm proud of the methodical way that our team delegated work. I also am proud of learning Azure.

Tremaine Ng: I had a lot of exposure to different APIs as well as Android, which was hard to juggle since I was new to everything. I'm proud I was able to contribute so much to the project regardless.

What we learned

The front end team (Anthony, Kristy, and Tremaine) learned a lot about Android since we came in without experience in Android programming. Kristy specifically learned about how UI and layout works in Android while working on the apps presentation. Tremaine learned more about version control when we used it in our project along with working with APIs like the Clarifai api and our internal api.

The back end team (Derek and Riley) learned a lot about the how out of control callbacks can get in Node.js and also how to work with cloud services like Azure. Derek also learned Javascript and SQL for the first time today too.

What's next for Clarifood

The next steps for Clarifood are to connect to commercial recipe databases. This will allow us to provide many more recipes and matches to our users. Also, by adding an account system, we can provide some cool features for the users. Features we had in mind when we were brainstorming this project are:

  • Associate dietary restrictions and nutritional goals to the user to provide specialized recipes and dish ideas.
  • Add suggestions to be able to buy additional ingredients from nearby stores. We could suggest ingredients that are in season since they'll be cheap and healthy.
  • Corrections for ingredient classification. This could be achieved by having the app train a model in Clarifai to learn from its mistakes!
  • Integration with Alexa to support hands-free operation. "Alexa, what can I make for lunch today?"
Share this project: