Kelly’s Status Report for 4/6/24


Work Accomplished:

  • Integrated OpenAI API to get recipe using current inventory
    • Connected the results from the filter options (Dietary Restrictions & Cuisine)
    • Prompted the LLM and asked to end the recipe with !!! since there was a problem earlier where some long recipes are cut short and not finished.
      • Checking to make sure the response has !!! in it and requesting the response again in a loop if not, until it has it.
    • Generate Recipe button is disabled after it is clicked until it gives you a recipe to prevent multiple responses if the user clicks more times.
  • Created a pop up with the name of the recipe
    • Clicking “Back” goes back so you can generate a new recipe
    • Clicking “Let’s get cooking!” goes to the recipe card page.
  • Created an upload image button widget that can be reused across screens
    • Users can upload a picture from their photo library, take a picture from their camera, or remove the picture.
  • Created the recipe card page
    • Able to upload image
    • Parsed the data from the OpenAI result to bullet point the ingredients and number the instruction steps.
    • Bookmark icon fills in when clicked, which will save the recipe to saved recipes (not implemented yet because the database is not connected)
  • Allowed the saved recipe list to be clickable to open the recipe card.
    • Adjusted the formatting for the item card as a recipe to be different from the inventory
  • Created custom inventory input pop up when clicking the + button on the inventory page
    • Title is the only required field and the save button is disabled if the title is empty
    • Expiration date uses a date picker that opens a calendar
    • Quantity can be typed in or use + and – buttons to adjust the quantity.
    • Able to upload image
    • Clicking out of the pop up exits it
  • Created a custom recipe input pop up when clicking the + button on the recipe saved tab page
    • Title, ingredients, and instructions are all required.
    • Able to upload image
    • Users will have to write out the ingredients and instructions using new lines
      • It will save as the same format as the OpenAI response so that it can appear on the recipe card.
      • Writing in – or * or numbers at the start of the line will also work and it’ll be parsed out.

 

video demo of the new features

 


Verification:

  • I will run tests by timing the recipe generation (it is currently very fast so definitely meets the use case and design requirements)
  • For the accuracy of the generated recipes, I will generate all different cuisines of recipes and then check the ingredients to make sure they are all in our inventory.
    • I will calculate the percentage of accurate recipes from a sample size and if it is lower that our use case/ design requirements, I will edit the prompt/ add more verification steps to ensure they are accurate.

Progress:

  • On track with the updated gantt chart. App is basically done on my end, it just needs to be connected to the DB for everything to work together (Sebastian’s role)
  • Decided to make the “cookable” toggle and grayed out recipes a stretch goal since it is difficult to parse the ingredients from the string response that OpenAI provides
    • Sometimes it’s listed as “garlic, 2 cloves” or “2 cloves of garlic” so getting just “garlic” to check against our DB would be difficult.
  • Another stretch goal will be to edit things, like the text in the recipes and also the images of the inventory items.
  • Made the filter button in the recipe tab a stretch goal. Will need to be saving the tags passed into the LLM and also set tags in custom recipes.
  • The search, location filtering, and sorting will be done by Sebastian and might make more sense once the database is in the app, but it is not as big of a priority as other tasks.

 


Things to complete next week:

  • Connect scanner video feed to the app
  • Verification tests

 



Leave a Reply

Your email address will not be published. Required fields are marked *