The Best Algorithm for Learning to Cook

Cook to eat and cook to learn

There are two reasons for cooking: cooking to eat and cooking to learn. The main point of cooking is to eat healthy food, affordably without spending too much time or effort. Once that’s achieved, cooking allows you to learn about what foods work with your tastes and your body. You can also use cooking to learn about your own culture or other cultures.

The method I’m going to describe is inspired by building software which emphasizes reusable pieces.


A meal has three interchangeable parts

I tend to eat high fiber diets. That means my meals (lunch and dinner) are about 1/4 carbs, 1/4 protein, and 1/2 vegetables by volume with plenty of oils. My snacks tend to be fruit and nuts. Breakfast is plain whole yogurt and bananas.

Your meals depend on what works for your body, but using these guideliens this is a reasonable starting point for a healthy diet. Americans tend to eat too much sugar, meat, and bread and not enough vegetables, so that’s why I err on the side of too much vegetables.

We want to think of these three parts (carbs, protein, vegetables) in a meal as parts that can be swapped out, like a three-person play that can have different actors. 

When I start cooking, I think “what’s my carb, my protein, and my vegetables?”. 

As we learn more recipes, we can then identify what ingredients play these three roles and introduce these parts in our meals.


Flavor agents dress up our three parts

We’re trying to get a tasty meal at the end and we’re starting with raw ingredients. Most raw ingredients have a taste, but I think of them as a canvas for a range of flavors.

Boiling a raw potato would be rather bland so we add salt or sour cream to make it taste better. The salt and sour cream give the food additional flavors, so I’m going to call them flavor agents.


Cooking methods turn these parts of the meal into different forms

Cooking is the collection of methods (algorithms) for turning those raw ingredients (inputs) into good food (outputs). Here are some example outputs.

Examples of carbs

  • Steamed carbs
  • Mashed potatoes
  • Pizza dough, pita, flatbread
  • Burger bun
  • Corn tacos, arepas

Examples of proteins

  • Burgers
  • Meatballs
  • Breaded and fried fish
  • Roasted meats
  • Braised meats
  • Curries

Examples of vegetables

  • Salad
  • Sauteed vegetables
  • Roasted vegetables
  • Grilled vegetables

Examples of flavor agents

  • Vinegar
  • Ginger
  • Garlic
  • Black bean sauce
  • Spices
  • Herbs
  • Capers
  • Mayo
  • Mustard
  • Honey

The key to learning to cook (or really learning anything) is learning the next most useful skill enough to get you to the next level. You could call it agile. At that new level, you may find that you need a whole different set of skills. What’s missing is a leveling system to help guide cooking students. In the same way that when you play Pokemon Go, you feel great when you level up, you should be able to see your cooking skills level up too.

We like leveling up because we like the feeling of progress within a structure of that tells you what to do next towards a given a goal. Finding your own goal is really difficult and you may spend a lot of time wandering before you find it.


A great cooking course organizes cooking methods into levels and guides you through them

The cooking course that I’m imagining comes down to starting everyone at level 1 of the four different parts (carbs, proteins, vegetables, and flavors). I would split up the different methods into levels by difficult, effort, ingredients and amount of equipment needed.

The first goal would be to complete level 1 for all four parts. Then it’s really up to the individual to choose what they want to get better at.

Within the levels, the course would describe the method, give examples of what kinds of ingredients can be put into the method and have the student cook a couple recipes with this method.

When the student is bored with a recipe, then they can either cook another ingredient with the same method or move on to the next level. Since the three parts are interchangable, they can be taught independently and students can progress at their own pace based on their interest.

Now I just have to build it.


Designing Cooking for millenials

Before, I talked about how cooking is not designed for millenials.

  1. Cooking for one every night is inefficient.
  2. Recipes assume you have ingredients and equipment. They also aren’t visual.
  3. Cooking education relies on recipes and not techniques.

What’s the answer?


Cooking for one

Cooking every night takes up a lot of time and effort. If you cook every night, it’ll take about 1 hour each night. The answer is cooking many meals at once. I like to cook six on Sunday nights.


  1. Containers. I’d tried cooking larger portions before, but that didn’t work well because I didn’t have any way to store it. The key is buying containers and preassembling the meals into containers on the day you cook so that you all you need to do is heat it up when you want to eat.
  2. Variety. People get sick of eating the same thing all week. That’s why I cook three different meals for the week and I only eat them for dinner. That way you can still buy lunch and get a wide variety of food.


Recipes are broken for millenials

Recipes are not designed with the needs of a millenial in mind. They don’t realized that millenials don’t have a full pantry, a lot of kitchen equipment or a lot of time. They are heavily text based.


  1. A simple solution would be to include more data on the recipe about the number of ingredients, dishes, cooking techniques used and type of equipment it needs.
  2. We can also communicate recipes in pictures or videos instead.
  3. Recipes should be organized to maximize the amount of reusable pieces. For example, recipes that share a common set of ingredient or techniques should be grouped together.
  4. Recipes should be designed in a modular way to show what parts can be substituted.


Cooking education relies on recipes and not techniques

Cooking is something passed down from parents to children, but more and more, parents are not cooking, so where will children learn to cook?

People cook now by looking on Google for recipes. This leads to learning to cook by trying many different recipes. This is a very ineffective way to learn.

What are recipes?

They’re a written way to communicate instructions for making something.

The problem is that each recipe only tries to recreate a special case not communicate how the ingredients were chosen and their purpose in the dish.

Following a recipe for roast pork is like learning for the first time that 3 x 5 = 15. Sure, next time you’re asked what 3 x 5 is, you’ll know it’s 15, but you didn’t learn how to multiply. If I asked you what 4 x 6 is, you won’t have a clue. In the same way, you haven’t learned how to cook meat by learning a recipe, just the answer to a specific problem.


The answer is teaching methods and using recipes as examples of methods.

The whole point of cooking education should be to teach the 20% of techniques that make up 80% of recipes so that people can reap the benefits of cooking and start experimenting with ingredients on their own.

How does that work? Next, I’ll show the cooking curriculum I’d use to teach cooking.



Cooking was not designed for millenials


To me, cooking means so many things.

Food is the basis for health and cooking is educating yourself about what foods are good for you and what foods taste good.


People cook differently than companies do and way healthier.

  • People cook with real food and companies cook with ingredients you can’t pronounce.
  • People don’t use as much salt, sugar or fat as companies do.
  • People prioritize taste and health and companies optimize on cost.


A lot of my family’s celebrations are centered around food. Cooking is passed down from one generation to another and I feel that I’m losing cultural heritage if I don’t learn how to cook. Cooking means community.


Economically, if I cook 6 meals a week, I can save 200 dollars a month.

I think people like the idea of cooking. I think cooking just has a bad user interface. For people who don’t have much experience cooking, it’s a large hurdle to cross.


Cooking has a bad user interface

  • Millenials are usually single which means cooking for one. Cooking every night for one is time and effort intensive.


  • Recipes are broken. They are meant for families who have a large kitchen, plenty of equipment, and a stocked pantry with lots of ingredients. Millenials (especially city dwellers) don’t have these things.
    1. Ingredients. Recipes often require 10-15 ingredients, so it’s hard to make things just from what you have. If you try to make chicken tikka masala one night and thai curry the next, you will have a lot of these ingredients that are not used very often, so there lots of leftover ingredients, which end up spoiling. The ingredient list that need 1 oz of sherry vinegar  means you need to buy a specialize item
    2. Equipment. Recipes need equipment like food processors and large mixing bowls that there’s not room to store. Using a lot of equipment means cleaning a lot of dirty dishes, so it’s a lot of work unless you have a dishwasher (not standard in New York).
    3. Presentation. Recipes are not visual and rely heavily on text to convey instructions. If Snapchat and Instagram are any indication, millenials love visual media.


  • Cooking education is lacking. Usually, cooking is taught by parents, who themselves may not be very good. Most education is focused on following recipes and not enough emphasis is placed on learning techniques so students learn to create their own recipes. When a beginner goes online to find a recipe, so many recipes that it’s hard to know what to pick.


What’s the answer? That’s next.