Design thinking, from the kitchen

When you are living the single urban life, chances are there’ll be many days when you will have to cook for yourself, because eating out a lot gets pretty monotonous. In recent months, I have taken it upon myself to try out new dishes and experiment with different flavours.

When preparing an Indian “subzi” or curry dish, which contains as many as 8–15 individual ingredients, my process is to understand the “attributes” of each ingredient, and how best to cook them. With practice and experimentation, I understand the reaction of different spices, powders & vegetables to heat and oil, and am able to determine the right time & sequence to introduce them into the cooking pan/vessel. If done right, the end result is a spicy & sumptuous Indian delicacy.

Tackling a design problem can be extrapolated from my cooking experience. A wholesome user experience is provided when you combine individual design elements with different attributes (ingredients) to add value (flavour) to the user’s interaction with the design (eating). Here’s how I look at the design process as a cooking analogy:

1. The recipe <=>The design solution

“What is the problem that the designer has to solve?” can be loosely equated with “What shall we cook for dinner?”. While the latter depends on the availability of ingredients and the general mood of the people, the former is a more detailed process that involves research, heuristic evaluation, usability evaluation, analysis and more — to condense the scope of design to a specific problem to solve.

In either case, the user starts with an end goal in sight, which will be ‘served’ to the people using it.

2. Ingredients <=> Design elements

I have been fascinated by Brad Frost’s Atomic design concept, which emphasis on a system of components instead of pages. As we all know, a recipe is incomplete without the basic ingredients; likewise, a design solution needs different composite elements (typography, input type, action types, colors etc) to facilitate user flows & tasks on the page/screen.

Google’s material design documentation can be thought of as a list of all “UI ingredients” that you can use for different purposes & intents (like dishes & gravies).
Each ingredient has unique characteristics that play a big part in the flavour of the recipe. Likewise, each UI element has a specific purpose that can be utilized when designing task flows for the user. (Image credit: Wikipedia, Google material design)

3. Preparation <=> Information Architecture

You need to keep all the ingredients ready before cooking. Vegetables have to be peeled and chopped, some spices need to be ground into powder or paste, and in some cases marination is needed. Preparing for the cooking is as crucial as the cooking process itself.

For the designer, it is important to define the scope of the design to solve the problem at hand. This is done by translating the user’s mental model into an information architecture, which helps to identify the minimum path for the user to accomplish his/her task, and the elements that can be used right away to enable the user’s actions.

Devising an Information Architecture allows the designer to determine the type of design UI elements that will facilitate the user’s tasks more easily.

4. Cooking <=> Design process

During cooking, we use our practice and some common knowledge of the ingredients to gradually add to the final dish. It usually is a trial and error method at the outset, and we try it ourselves first to learn what went wrong and how to correct it next time.

As designers, we make wireframes and dirty prototypes and test it quickly with some users to learn what works and what doesn’t, and then use the learning to improve upon the previous design, till a satisfactory solution is arrived at.

Regularly testing our designs allows us to find gaps in the user’s experience, which can be addressed by adding or removing design elements. This is the same as repeatedly tasting your cooking to ensure you get the flavours right before serving to someone.

5. Garnishing & serving <=> Final visual design

Once the cooking is finished, we transfer the dish into a serving bowl and add greens and colourful garnishing ingredients to add more appeal to the final dish. We also place lemon wedges / tomato slices / cucumber slices on the side, to elevate the whole dining experience and tantalise the user’s taste buds even more.

When the core functionality of the design has been addressed, we need to serve it to the users in a palatable form that makes it seemingly exciting, easy and fun to use.

Designers must use the right mix of colors, typography & animations on top, to make the final design solution interesting and highly engaging for the user, which encourages the user to get involved in the task from the get-go.

While this may sound rather over-reaching & far-fetched, it’s just a way of reverse-engineering the design process for cooking. By looking at cooking through design glasses, I am able to come up with a few dishes that is not only edible(amen!), but also turns out to be yummy and finger-licking good. It would be much easier to cook pretty much anything using this approach; at least that’s what I thought so.

Till I tried my hand at cooking simple Thai rice noodles last night.


The Asian food disaster

I had a packet of Thai rice vermicelli lying around, so decided to look up some simple beginner recipes for Asian noodles. I settled on a recipe which seems relatively simple on paper, but it involved an unusual number of sauces and pre-packaged ingredients— soy sauce, dark soy sauce, vegetable stock, balsamic vinegar to name some. The preparation and cooking were relatively easy though, taking altogether 20 minutes. The final dish would resemble something like this:

Typically in an Indian recipe, we can make it flavourful even if some ingredients are missing, by balancing out with salt, chilli powder, lemon & other powders whenever needed. Because of this habit, I felt it would be okay to make do with just dark soy sauce, chilli sauce and vinegar, for both the marinating agent and the stir fry sauce.

I followed all the steps in the recipe to a T, dutifully noting down the time and using substitutes for the ingredients I didn’t have in hand.

Despite all the careful attention, I ended up with an over-sweet, sticky mess of Thai fried rice noodles, which looked nothing like the one in the picture.

Even the generous helping of Tofu, red bell peppers and spring onions couldn’t improve the flavour at all, and I had to dispose half of it in the bin.

After this gastronomic ordeal, I went through the recipe again to find what had gone wrong. I did a quick research on each ingredient as well, and was able to pinpoint the flaws in my cooking.

  1. No salt — The soy sauce is the salty element in the dish here, and dark soy sauce is thick and sweet and complements soy sauce. I made the assumption both had the same ingredients.
  2. Marinating tofu — Instead of using corn starch and soy sauce as suggested, I used lemon, dark soy sauce & chilli sauce mixture, which exacerbated the overall sweetness of the dish.
  3. Vegetable stock — Rice and noodles are tasteless, and needs to be mixed with heavy flavours that come from sauces, vegetables and stock. I used water from the rice rinsing as stock, which did nothing to add any taste.

While Indian cooking entails using different core ingredients and making combinations of these, Asian cooking uses “bases” — pre-packaged flavours which have their own distinctive tastes and properties, and the focus is on “covering all bases”, from the marinating agent to the stir-fry sauce.

So what’s the design lesson here?

It’s pretty simple, actually. As elucidated in my earlier post, design is highly contextual and there’s no one-size-fits-all approach. What may work for us now, will blow up spectacularly in our faces if we try the same thing in a different setting & context, without understanding the nuances of how things work there.

The biggest mental obstacle we will encounter during a new project (cooking/design) is “unlearning” & “relearning”. We need to keep an open mind at all times, and not allow our past learnings and experiences creep up into our work if it doesn’t add value to our process.

I have come to understand that design, like cooking, will never be the same, and will keep changing according to the ever-evolving user expectations and varied experiences. With this new found realisation, comes the self-belief that it’s now going to be an exciting culinary journey; I will persist with cooking Asian food till I get something right.


Design has shaped my outlook on my everyday life, and cooking is just one of these aspects. Try extending your design skills beyond work, and you’ll see the world in a new perspective. Have fun!

Follow me on twitter.

Show your support

Clapping shows how much you appreciated Prasanna Venkatesh’s story.