BotChef

This app uses machine learning to suggest recipes to a user based on the ingredients, preferences, and dietary restrictions that the user has

The Plan:

Basic Use Case:

1) Type in the ingredients you have
- The app is in Android and on the web
2) The app sends the list of ingredients to the BotChef server, where they are stored along with the user preferences.
- The app sends an HTTP GET request to the web server along with a serialized list of ingredients. 
- The web server returns a JSON response containing a list of recipes ranked. 
3) Server finds a list of recipes that can be made with those ingredients
- Uses database in Django to look up recipes based on ingredients
- We used the recipe data at this link: https://eightportions.com/datasets/Recipes/
- We used a naive bayesian classifier to read the ingredients and simplify them into a shopping list
4) Server sorts recipes based on the user's preferences, and what most popular.
- We used a combination of popularity and number of matching ingredients to choose the best recipe
- We will use originally planned to use the Baidu API to perform suggestions, but then decided to use our own formula
5) Server sends top 5 recipes to the app
- Server sends data over HTTP GET request
- Recipes sent to app in a JSON file
6) User chooses a recipe in the app. The chosen recipe is sent to the server.
- Chosen recipe data is sent via HTTP GET request
7) Server receives the user's chosen recipe, and stores this data for later in the database, and updates the recipe popularity data, and thus the machine learning model.
- The Django API is used for updating data
8) Server can send better recipe suggestions to be displayed next time, using popularity data
- Server sends suggestion data in an HTTP GET request
- Suggestion data sent in JSON file
Share this project:

Updates