Meal Prep Mate

ROLE: DESIGNER, DEVELOPER

08/21 - 12/21

Academic project completed at Cornell University with Ronin Chasan, Stephanie Chow, Minchul Kim

Instructor: Professor Kyle Harms

ABOUT THE PROJECT

A mobile app targeted toward college students who meal prep.

Meal Prep Mate helps them find recipes based on their leftover ingredients. This helps them find ways to use up their leftover ingredients before they go bad, reducing food waste and saving money.

COMPONENT

Edit Ingredient Card

The user can then either change the expiration date or delete the item from their "Pantry."

COMPONENT

Recipe Card

A component for an individual recipe that can be easily reused for multiple recipes. Clicking on this allows the user to see the full recipe. This would be used in our "Recommended Recipes" and "Favorites" views.

COMPONENT

Ingredient Card

A component for each individual ingredient that can easily be reused for multiple ingredients. Clicking on this would lead to "Recommended Recipes" for that specific ingredient.

COMPONENT

Navigation Bar

COMPONENT

Back Button

Value Propositions

  • Help users avoid the need to throw out leftover ingredients.

  • Help users use ingredients before they go bad.

  • Help users overall save money.

Pseudocode

Pantry

If the pantry is empty (session storage is empty):

Show text indicating "Pantry is Empty!" Else:

Load the data inside the session storage using "Ingredient" Cards.


If the user clicks on the edit button:

Load the data inside the session storage to itemsList

Create "Edit Ingredient" Cards with itemsList

If the user changes the ingredient or expiration date of an "Edit Ingredient" Card:

Update the ingredient or expiration date for that card in itemsList

If the user clicks "X" to delete an "Edit Ingredient" Card:

Remove the ingredient data for that card from itemsList

If the user clicks on save:

Update the data in the session storage with the current version of itemsList

Show the data inside the session storage using "Ingredient" cards


If the user clicks on the add button:

A model appears asking the user to add manually or using a camera

If the user clicks "Manually Enter":

GO to the "Add" view

If the user clicks "Use Camera":

Go to the Camera view


If the user clicks on an individual ingredient card:

Use a route parameter to indicate what ingredient was clicked on.

Go to "Recommended Recipes" view

Add

Upon loading:

Create itemsList with a placeholder for the first ingredient's data

Create empty "Edit Ingredient" card


If the user clicks on the add button:

Add an empty "Edit Ingredient" card

Add a placeholder to itemsList for the ingredient's data


If the user changes the ingredient or expiration date of an "Edit Ingredient" Card:

Update the ingredient or expiration date for that card in itemsList


If the user clicks "X" to delete an "Edit Ingredient" Card:

Remove the ingredient data for that card from itemsList


If the user clicks on the save button:

Add all the data from itemsList into session storage

Go to the Pantry view

Recommended Recipe / Favorites

If the user clicks on the individual recipe card:

Use a route parameter to indicate what recipe was clicked on.

Go to "Individual Recipe" view