Inspiration
As a team, we had a mostly math and data science background. We wanted to do something useful and fun. Eating healthy can be hard, but it can also be fun! We wanted to write a program that could match a person's pantry and health goals with fun recipes to make.
What it does ok
The program returns only recipes that can be made with the given ingredients, with more or less accuracy. The program also takes a flexible number of nutrition goals and returns more relevant recipes. Another part of the program also finds nearby restaurants that match the user's search, in case the user would rather eat out instead of cook.
How we built it
We used the Edamam API to search for recipes based on keywords. The program filters the search result (a JSON) for recipes that match the query in terms of nutrition and eliminates recipes with ingredients the user does not have.
The restaurant recommendation function uses machine learning concepts to find nearby restaurants via Google Maps that best match the user's search parameters.
Challenges we ran into
- First off, we had to make design choices as to what we wanted to expect from users in terms of input. We wanted to be able to take a full stock of a person's pantry and turn that into a reasonable query that would return a fair number of results. We also wanted to filter for items that could be made with pantry ingredients.
- We had to parse through recipe ingredients lists, which can vary by recipe and level of detail: e.g. _ corn tortillas lightly toasted vs corn tortilla _
- Not all of us were experienced with Python going into the project, so the project involved diving into a new language.
- As a whole, we did not have a lot of development experience in teams, so another challenge we faced was learning to work as a team and write code that works as a whole rather than as disparate parts.
Accomplishments that we're proud of
We think we got the API to work well for our first real time using one. Some of us also learned a lot about Python since not all of us were well-versed in the language. We implemented a machine learning algorithm on the data set to better predict choices for users.
What we learned
We also learned to use APIs more effectively and how to use JSON data.
What's next for Computational Concoctions
Our code could use more work on error handling. We may want to find a better alternative to the Edamam API and also better consolidate the different functions in the code. The free version of Edamam limits the number of searches allowed per minute. Later on, we may also want to add a front-end to the program in the form of a web app.
Built With
- api
- binary-tree
- edamam-nutrition
- google-maps
- java
- json
- lists
- machine-learning
- pandas
- python
Log in or sign up for Devpost to join the conversation.