Inspiration

As students, we are not excellent at cooking. Thus, we decided to make a program that will help us become the next Gordon Ramsay.

What it does

This WebApp generates recipes with optimized ingredients and instructions, based on user data. It has a base recipe, that is then given slight variations when presented to the user. These variations are randomized, and users provide a rating on how good the recipe was. The program then uses the data from the rating, and the variations from the original recipe to generate an optimized recipe.

How we built it

We started by breaking down the problem into three separate parts, the front end, back end, and the learning model. From there we determined what tools would be required for each part, and assigned roles for the team members. The front-end was done using ReactJS. The learning model was programmed in python, and communicated through a JavaScript file through HTTP Requests, to retrieve and store data in the database. The backend was programmed using JavaScript, and communicated to the database using ReactHooks. The database was done using MongoDB.

Challenges we ran into

We ran into challenges with using C# (Asp.net core) for the backend with MongoDB. There were issues with making the model for the database and the crud operations. Thus, it was decided to use Node.JS with MongoDB.

Data generation for testing. We do not have a user base, so we were able to make datasets, however, they were all randomized, meaning we don't get an idea of how well our model actually performs.

Accomplishments that we're proud of

Clean user interface

What we learned

The two group members who wrote the python code had little python experience One group member set up and managed a database for the first time We also learned how to set up a server on the google cloud platform

What's next for Autochef

The main component that can be improved for Autochef is the algorithm for determining the optimized recipe. For the time being it is determined using weighted averages depending on the score, and the deviation from the original recipe. The next step is to incorporate machine learning, as well as statistical tools such as regression analysis to determine better optimization for the recipes.

Share this project:

Updates