Stages of Product Design

A walk through my experience of building products from scratch.

“How can we improve the shopping experience?”

The question clearly says that our domain needs to be within “Shopping” but it does not provide us with the targeted users or the kind of problem we will be solving. So we decided to research different people’s shopping by observing the entire process of it in order to narrow down to a specific problem we could focus on.


We went to four different malls and each team member spent 2 hours observing, following and questioning shoppers. When we came back, instead of discussing our findings we decided to create an affinity diagram. We wrote bite-sized insights on sticky notes and stuck them on a board. We took around 10 minutes to understand each others’ insights and mentally tried to group them together. Later as a team we discussed our opinions and grouped the post-its and with no surprise, found a lot of overlapping issues.

As soon as we grouped the problems, we discussed the main issues of shopping experience from the observations and interviews. A lot of people were complaining about “time”. People are too busy to go shopping or they want to reduce shopping time and increase family time. Some people were complaining about the layout of the mall, others mentioned times with items are placed too high to reach. The types of issues faced varied from person to person. During the observation and interview phase, we had noted down information on the individuals we talked to. We used these to create personas around the type of people we had met.


It was difficult to select one persona as we had a lot of interesting ones. So we decided to follow an ‘Inclusive Design’ method and target the group of people who faced the most difficulty. We created multiples personas based on the existing information we already had. We went back to observing more people who would fit our personas and interviewed them. We noted down their personalities, problems, likelihood, age, occupation, interest and so on. We used these to refine the personas we had already created and gave scores for their difficulty level. We had “College Student” who barely had time for shopping and cooking along with school work. The “Young Professional” who would like to cook and hold parties at home to socialize along with his busy schedule and the last one is “The Mom” who has three kids and trying to balance her life between being a mom and taking care of the family.

The goal was to select the persona that was facing the most problems — in that way we can solve issues of an average problem facing people as well. After a long discussion we picked “the mom”. Think about it — having two kids along with a baby and a house to maintain? Going shopping with these kids when two are fighting and one is crying their lungs out? We saw it happen! I felt extremely bad for the mom when she was struggling to get a bottle of ketchup from the condiments aisle. Her sons were pulling her and the baby on her lap was crying.

We narrowed down to her because her problems indirectly address the problems of others. For example, her difficulty of not having time for kids can be matched to the difficulty of a college student not having enough time to shop. Her issues with not being able to spend time at the shopping mall to find the right items can be compared to an old person who has difficulty in finding the right thing.


We started brainstorming potential ideas — not just digital but physical as well. We started reading about the existing solutions in the market (pun intended). We discussed why existing solutions work or do not work and how we can use these insights to our benefit. We got inspired by a few delivery service products and decided to create a delivery service for grocery stores, but a smarter one. We drew out storyboards to explain to ourselves how the app will work. You don’t need to be great at sketch (we definitely weren’t), what is important is conveying your idea across. Sketching ideas is one of the fastest and most effective ways for me to explain my ideas. Though the one below seems pretty extensive, you can definitely forgo as many details as you need — the idea is to keep it quick and simple.

I love storyboards. They are easy to communicate and explain, and a very good way to test your product idea as well. If the people you are showing it to do not understand your message, then you need to work on it more. After completing our storyboards we had an idea about what we want to prototype.


The next step was to decide on the look and feel of the solution, through a moodboard. The idea of the moodboard is to help you figure out the style concept, color, and feel of your application. It was the first time I worked on a moodboard extensively, and to be honest, I really liked it. I probably spent hours just looking at different moodboards on Pinterest and Dribble. Check out this cool example I found on Pinterest.


The moodboard helps to dictate the design language. A design language helps you create design vocabulary for your product which you would need in order to create a style and design guidelines. The look, feel, color, typography, icons, everything comes under a design language board.


When the design language was done, we started sketching out the information architecture, navigation map and basic app wireframes. When we decided on the kind of service we want to build, we started working on our first prototype… which was not very pretty but our focus at this point was much more utilitarian.

Prototype 1

Iterate! Iterate! Iterate!

Prototype 2
Prototype 3


We went back to our persona and talked to her about the proposed solution. We got her feedback and incorporated them with the app. We also tested with people across different gender and age groups to get an idea of how effective this could be to solve their issues. 6 out of 10 people said they would definitely use an app like this if it were in the market, whereas the others said they actually like going grocery shopping.

This is how the final app looks like!

This project is in the prototyping phase, and there are definitely ways to improve it should we take it further.

Lessons learnt!

  1. It’s always good to have different perspectives in the team because that pushes us to think from different angles.
  2. If you have a limited team size, and you have a lot of ground to cover, more than two teammates shouldn’t go to the same place — spread the team through different areas as much as possible.
  3. Research participants can provide great insights that you could never have guessed.
  4. After your fifth participant, you start getting the same kind of feedback.
  5. It is hard to focus on the visual or aesthetic aspect of a product when you are focusing on functionality. It is good to keep those tasks separate.
  6. Iterate! Iterate! Iterate! Because …

An attempt to writing down my product design process. It changes with the kind of product I am working on. If you agree with me or have a different approach, let me know. Any feedback on improving my work style would be appreciated :). Thank you Zaid Haque for proof-reading and feedback on my article .

Follow me on Twitter or shoot me an email (
Always looking for feedback and cool projects to work on.