C

Cuisinier

Cuisinier is a smart solution that aims to provide the best out of your money spent on ingredients.

C

Cuisinier

Cuisinier is a smart solution that aims to provide the best out of your money spent on ingredients.

The problem Cuisinier solves

Cuisinier is a smart platform aiming at redesigning the way India cooks! A lot of us think about what dish to cook for breakfast/lunch/dinner. We cook what we would love to have. Cuisinier is a smart way where the app suggests the most optimum usage of the ingredients being used to prepare a particular dish. It also suggests all the dishes that can be made with the ingredients you have purchased, and also has a cookbook featuring more than 100 recipes (Still in beta, in production we expect to have more than 400 recipes). We also integrated Deliciora, a system that converts a dish image to its recipe (based on Facebook’s Cooking Inverse Research Paper). Deliciora recognizes the ingredients in a dish’s image and suggests the steps you can take to cook that dish. We also integrated Spotify playlists into our app, so that you can cook a dish while listening to great music!

Updates

Now you can share your favorite recipe. Just click the share recipe button!

Ideas we'll be implementing in the future

  • Collecting data manually is tiresome and cumbersome. We plan to add a feature where any user can add recipes, and depending upon the popularity of that recipe, the user gets rewarded (based on the same concept of cent.co)
  • We plan to make the Spotify API integration in our app in such a way, that a user can play songs from their personal playlists too.

Challenges we ran into

Facebook’s Cooking Inverse model is based on PyTorch and is about 396MB’s in size. We had to integrate the model into a Django server, and build PyTorch 0.4.1 from source on a custom Ubuntu VM to test the app. The source of recipes we had included around 400 recipes. To build a prototype, we selected only 100 recipes. We had to refactor each recipe’s ingredient list into a key-value pair. To improve the searching time complexity, we designed an index specific to each ingredient and used a Hash Map to mark the recipes that can be cooked. The Spotify SDK is available in Java, making an interface for our Flutter app proved challenging, hence we integrated Spotify Web Playlist Links. The time-table chart generation is an NP-complete problem. Thus, we are still trying to figure out the most optimal way for time-table generation, as otherwise, the time complexity of the algorithm reduces otherwise the graphic rendering time increases exponentially!

Discussion