Inspiration

Cooking at home should be easy, but it rarely is. We’d find a recipe online, realize halfway through that we were missing an ingredient or a pan, and end up with a sink full of dishes and time wasted. We wanted a tool that starts with what you actually have, not with what a recipe assumes you have.

What it does

What can I cook? Builds recipes around your utensils and ingredients, and the app identifies them automatically, so there’s no need to fully type out lists. It then suggests recipes which keeps cooking time and cleanup to a minimum while using ingredients you already have. If a recipe calls for something you don’t have, add it to your shopping list and the site takes you directly to where you can buy it.

How we built it

We built the frontend with javascript, html, css and the backend with python and jupyter notebook. Image recognition is handled by Grok, which detects utensils and ingredients from a single photo. Recipes are created in a way to minimize dishes and time spent, and filtered by user rankings. The shopping list links out to the user's chosen store for one-click purchasing.

Challenges we ran into

Getting reliable detection from photos was harder than expected, since ingredients as well as utensils are cluttered and look alike. Defining what makes a recipe “optimized” also took real effort, because the fastest recipe isn’t always the one with the fewest dishes.

Accomplishments that we're proud of

We’re proud that our website can analyze photos, get a recipe you can actually make, and optimize for dishes. We’re also proud of the effortless user experience.

What we learned

We learned a lot about image recognition, APIs, and optimization.

What's next for What can I cook?

What can I cook can be built upon by adding filters for allegories or diets. We can also add a way to streamline the process of adding new recipes.

Share this project:

Updates

Submission history