When I go out to eat with friends, our meals arrive at the same time, and usually all at the same temperature. In my personal kitchen, this is next to impossible. Aside from a cripplingly novice technique, the most difficult part of cooking for me is timing. I tend towards complicated multi-dish meals that require ingredients to be prepared and added at specific times for perfect execution of the meal. Usually, I spend time researching a couple recipes to understand the essence of the dish, assemble my own recipe with additions/substitutions and then mentally prepare for the steps required to prepare everything on time. As I was planning dinner last night I had an epiphany. Gantt charts.

To the layperson, a Gantt Chart is basically a task-dependent timeline. These graphs are visually descriptive and clearly indicate the stepped phases of a project. Below is an example. On the y-axis are the tasks and on the x-axis is the timeline. As you can see, evaluation may not commence until training has completed. You might also observe that in order to complete the report by the due date of 11/26, writing must begin on the 12th.

As an engineer, I am very familiar with Gantt charts for project management of multiple task- and time-dependent steps. Until last night, I had never considered using them for cooking. They’re perfect for the task though. Each ingredient and its prep can be charted based on the time it takes to complete the task. Your prep time can be staggered to account for your cooking skill level.  Visually you can simply discover the most labor intensive steps and understand which tasks must happen either concurrently or in succession.

Let’s look at an example. This is a recipe prepared for chicken soup in a familiar form:

8 cups chicken stock
1 cup chopped carrot
1 cup chopped potato
1 cup diced celery
1lb of chicken breast, cubed
3 cups noodles, cooked
1 T. minced garlic
1 t. chopped thyme
2 t. chopped parsley leaves

Brown chicken in skillet with salt and pepper. Bring stock to boil with lid over high heat. Add chicken, potato, and carrot to pot, reduce to simmer. Simmer for 30′, add thyme. Simmer for 20′ longer, add celery, garlic and cooked noodles. Simmer for 10′ more, remove from heat, and add chopped parsley and salt pepper to taste.

And now we have the Gantt Chart version of the same recipe:

Chicken Soup Recipe (Gantt Chart Version)

If we compare the two recipes we see some clear differences. First is the formatting of the two recipes, the former being a word problem and the latter a graph. The second difference is in the quantities, with the standard recipe calling for the quantities of the final prepped ingredients while the second begins with raw quantities. The third difference are the time requirements of the recipes, the second outlining the amount of time required to prep each individual ingredient.

Visually, the formatting differences between the two recipes are so stark that they require different execution methods to create the final meal. The first recipe tells you the volume of the ingredients but does not indicate the process to prepare these ingredients. As a cook you must know and account for the time it will take to peel and then chop the carrots and the potatoes. Similarly, you must fill in the blanks for the preliminary steps to prepare the stock, the cubed chicken and the noodles. All minor preparation steps but they must be completed by specific time points in the recipe, for example, the noodles must be cooked by the time they are ready to place in the stock. In the second recipe, the raw ingredients are listed and their preparation steps outlined on the timeline. Therefore, there is no need to mentally prepare the process leading up to cooking or even cooking.

Another formatting difference between the two recipes is in the worded quantities. The first recipe calls for specific volumes of prepped ingredients (1 cup of chopped carrots) with no mention of how many carrots or potatoes are required to make a cup each. I have no idea how many chopped carrots make 1 cup nor am I cooking for a restaurant so waste is an important consideration. Luckily, this is a soup recipe so there’s some play in the quantities. Therefore, in the second recipe specific quantities of vegetables are listed. This simplifies assembly of the raw ingredients for the recipe and minimizes waste.

The final difference between the two recipes is the weighted importance of time. Most recipes I’ve read provide time in the form of “prep time: 15 min., overall cooking time: 60min.” Again, a word problem requiring some accounting in the rearranging of the steps involved to make the dish. In the first recipe, time is listed as a function of the combined ingredients to cook the final dish. My process for cooking the soup using the first recipe would be to chop and dice everything before heating the stock, because of my novice knife skills and because I like to complete all the prep work before the cooking steps. Using the Gantt chart though, I can see that there are periods of inactivity that I can exploit to prep some of the additional ingredients. Using the timeline, specific preparatory steps can be programmed in during these cooking periods. Also, you can clearly visualize the due dates for specific ingredients, such as the cooked noodles and the browned chicken.

The more I think about this style of formatting, the more I begin to consider that this is how skilled chefs think about their dishes when reading a recipe. I’ve also considered the fact that formatting a recipe this way might be taking all the fun out of the puzzle. But as someone interested in data visualization and explaining concepts through graphs, this seems to remove all the stress of planning a meal. It breaks cooking down to a step-wise process allowing me to focus on more important things, like not cutting off the tips of my fingers.


  1. Very cool! I didn’t know those diagrams had a name, thanks for the introduction. Do you know of any open source software that could help with Gantt Charts?
    I guess spreadsheet software would work, but anything else?
    Also, In web development, there are speed tests that show how assets load for the end user, and you can see what things are holding up. Very helpful, never really crossed my mind how that could be applied to anything where a goal is accomplished through steps in time.
    Very cool, would read again.

    Also, that sounds delicious.

    Posted January 5, 2010 at 6:13 pm | Permalink

  2. You might possibly be the coolest person in the entire world for writting this. The coolest. Seriously. wow.

    Posted January 6, 2010 at 10:12 am | Permalink

  3. Nick


    is a good example.

    Posted January 6, 2010 at 11:00 am | Permalink

  4. Kristen Kulinowski

    OMG this is frickin hilarious! Seriously, whenever I start to cook I immediately start sauteing some onions and garlic in olive oil. That’s my equivalent of putting a pot of water on to boil.

    Posted January 6, 2010 at 11:29 am | Permalink

  5. matthew


    Thanks for including that link, I saw cooking for engineers after I wrote the post but hadn’t seen it before. I like the flowchart versions of the recipes but wish that there was a better way for them to show the time dependency of the steps rather than only the task dependency. I’ll be working on the gantt charts with further recipes to improve the visual appeal. Thanks,

    Posted January 6, 2010 at 12:58 pm | Permalink

  6. matthew


    I bet your dishes are absolutely delicious. Garlic makes almost anything better.

    Posted January 6, 2010 at 1:15 pm | Permalink

  7. tom

    You will definitely like http://tomsplanner.com! It is so easy to use, that we actually have users who use Tom’s Planner to plan their dinners! Not kidding! A lot of thanksgiving and Christmas dinners where a success because of excellent planning! We have all kinds of templates on our website and are always looking for new ones.

    Posted January 19, 2010 at 10:48 am | Permalink

  8. G. Fuller

    I have thought this would help greatly for a long time..Thanks for actually doing it and making it work. Aside from measuring by weight/mass this is where cooking needs to go for consistent success in several ways.

    Posted January 18, 2012 at 5:15 pm | Permalink

2 Trackbacks

  1. [...] is a lot of room to innovate on how we articulate recipes. There are, for example, better ways of visualizing parallel activities, or incorporating video demonstrations of standard techniques. Recipes need to come into the 21st [...]

    By Cooking as Coding « Admirer of Truth on March 15, 2010 at 12:51 pm

  2. By GANTT | IPT Thoughts on November 9, 2010 at 12:13 pm

Post a Comment

Logged in as . Would you like to log out?

Your email is never shared. Required fields are marked *