Designing a grocery app that allows you to order from multiple stores.

Problem statement

Tejasvi Arora
6 min readJul 17, 2022


With the rise of Covid-19, usage of grocery booking & delivery apps rose significantly. Both Swiggy and Zomato, India’s largest food delivery apps made an entry into the market and got high market penetration very quickly.

You need to design the grocery delivery process. Here are some of the main considerations:

  1. The app allows users to choose from multiple grocery stores, not just from a single store. I.e. like Swiggy Grocery, not Nature’s Basket or Grofers.
  2. App will be used by mostly an urban audience — Tier 1 cities.
  3. Not all stores will offer the same kinds/quality of groceries.

Research and Goals

So, ordering groceries from different stores make a lot of sense and can be helpful at times too — Suppose that Store A is famous for its green vegetables and Store B is specialised in dairy products then I do not need to rely on just one particular store for all the products. If there is an option to order groceries from different stores then there will be no need to compromise on the quality. Also, I have got the complete liberty to order groceries from whichever store I like to.

Before starting off making the solution for this, I needed to validate my thoughts and the current user behaviour. So, I rolled out a google form to get an idea of what users want.

  • Why do we need to order groceries from a different store? Because of a lack of the same type of quality or due to unavailability.
  • What are the pain points that need to be solved while building this feature- need of ordering groceries from different stores
  • What are the other pain points that people face while ordering groceries?


We are not focusing on instant delivery like other brands.

All the age groups I’m covering in this case study are tech savvy, have access to the internet and own a smartphone.

this is the current problem we’re trying to solve. If an order is placed from a particular store then no items can be purchased from any other store at the same time unless the earlier order has been delivered to the user’s location/discarded from the cart.

Also, I interviewed my friends in real life and asked about their experiences while ordering groceries on the groceries delivery app. Based on their experience, I mapped their journey.

Usability Testing

Based on the survey I concluded that-

  • People need alternatives to the product that is unavailable but they don’t want to order it from another app and pay delivery taxes again.
  • People are curious to know where their order is coming from and need the flexibility to order items from whichever store they like.
  • People want crisp details for the items ordered.

On the basis of the survey, I’ve come up with two types of user personas. One of them is an engineer and another one was a housemaker.

Competitor Analysis

I used the competitor applications- Instamart, Dunzo, Zepto and Blinkit and closely observed their user flow. And on the basis of these parameters, I’ve done the analysis.


  • People felt that there is a lack of information related to the item. According to them, the information should be stated clearly.
  • If in case, any item is unavailable, users either order it from another app or bring it from an offline store. If users are given the choice to order groceries from two different stores at the same time, then this would solve the problem.
  • While making this possible, I need to make sure that I do not disturb the user’s experience in shopping grocery.
  • Assuming, for a better experience, that the same delivery partner will bring all the orders from the different stores.

By this point, I have a rough sketch of how to approach this problem. I’ve gone through the competition’s apps multiple times to familiarize myself with their user flow from start to end. After this, I started the low-fidelity diagrams on Figma. As the design process progressed, I was able to use this to visualise the ordering procedure and identify the sections that would need to be improved.

After making the wireframes, I worked on making the visuals. I tried adding some prompts that will help the stores to increase their sales. The prompts like ‘⚡high demand’, ‘200+ orders placed in the last hour’ will help the user to take a quick judgement about which item to be bought and from what store. This is an example used in the app.

By using AI/ML we can track user behaviour(such as how many unique orders, repeating orders and what kind of products are frequently sold from a particular store) and then we can use such prompts accordingly.

Some questions and answers

Ques: In what way do users find the groceries they need?

  • The recently bought section will save a lot of users’ time and
    it will help them recall their previous item bought.
  • the categories will help segregate the items into different sections which will make the task of finding things easier.
  • these tabs will help the user to think less and browse items when the user wants to order something just for leisure.
  • the search bar will help the user to search items directly in the store.

Ques: What are other assumptions you made while designing? and why did I make them?

  • We are not focusing on instant delivery like other brands because if someone order from more than one store, then it will definitely take more time for the delivery partner to collect the items and brings it to the user’s address.
  • There are many people who are not tech savvy but for this case study, we assume that all the age groups covered in this case study are tech savvy, have access to the internet and own a smartphone.

Final words- I tried my best to pull off a new solution to this problem but I believe this can be made a lot better. The best thing that I liked is the prompts that intrigue the user to make a purchase and let them know what is the best selling item or what item is in high demand in that particular store.

What can be done better- there are many more aspects of this case study which need to be explored like the maximum how many stores can one person order from, the distance between the different stores the user is ordering from and the user’s location where they want it to get delivered.

Here is the link for the prototype

Thanks for reading till the end :)



Tejasvi Arora

I love using cognitive psychology to humanize tech and solve problems. I’m a keen learner and enjoy taking new challenges and side projects.