ShopAfrica thumbnail

ShopAfrica: a package delivery service

The problem:

A lot of people in African countries who shop online stores overseas cannot get their orders delivered to them as most of these stores do not offer shipping services to their countries. The external shipping services take too long to deliver and cost too much.

what I did:

User Interviews


User Personas

UX & Visual Design

Prototype for User Testing


3 Months


Living in an African country, I have first-hand experience with the difficulty of trying to shop directly from online stores overseas like Amazon, Nike, etc. simply for the fact that they do not offer delivery to most African countries.

There are a couple of external delivery services like MyUS which while they can help you ship your package, there are a couple of issues such as long delivery periods and very expensive charges to get your products delivered.


To get started, I did some extensive research on some external delivery services like MyUS and DHL e-Shop Africa on why they have to charge such high prices and also why the delivery periods are always so long. This research helped me understand that most of the time these problems faced by the customers are not a result of the company's ineptitude but a result of the many regulations and challenges faced with freight transport.

So from the beginning, I knew whatever solution I present has to cut out the shipping channel. However, I needed to be more concrete than that.

To help me get a better understanding of this problem and what would be the best solution, I had to conduct a series of interviews with people who shop from these online stores.

From the interviews, I got some definitive results that helped me:

The results I got from this interview helped refine my perspective on the solution for this problem. Some shoppers use their friends and family who are coming to their country to help them transport their purchases. This solution is not effective for them because their friends only visit a couple of times a year so they probably have to wait months for their purchase.

So I conducted a second series of interviews, this time around with people who travel frequently and people who have helped their friends or family bring in their purchased items when coming to the country to help me understand their challenges.

From this second set of interviews, I was able to understand that most of the travelers would not mind helping someone transport their purchase for a small fee when traveling as long as they can verify for themselves that the package contains nothing illegal which could incriminate them while traveling.

With this information, I felt I could move on with this solution.

Understand & Define

Before any further steps, I had to fully understand and define the solution. To do that, I needed to answer a couple of questions:

What will be the end result?

The end result should be a service that helps African shoppers get their purchases from stores overseas in a very short period by connecting their purchase with a person traveling to their country.

Who are the users?

There are two sets of users for this product:

  1. The shopper: This is the user who purchases their desired goods online.
  2. The traveler: This is the user who transports the purchased goods for a small fee.

Exploring Solutions

Having been able to understand and define the solution, I had to figure out what form my solution would take. To achieve this, I had to answer a couple of questions

What would be the expectations of the users for this product?

To understand the different user types and what their expectations would be, I created some User Personas & User Stories from the results of the research and interviews.

User Personas

Shopper user

Shopper User Persona

Traveller user

Traveller User Persona
User Stories
User Stories

From the User Personas & User Stories created, I was able to understand that the solution has to be in a form that is easily accessible and which would allow for live updates on the delivery journey. This is the reason why I decided to make the solution a mobile app instead of web as mobile apps are more readily available and both users can get live updates and notifications.

Another observation from the user stories is that the shopper would want the option of shopping from any store they like so the product would NOT have a select few stores in its system like most external delivery services, instead, shoppers will create a unique username on sign up which they would use as their name when filling out delivery details on the store website and this username will be used to identify their packages when we receive them.

Seeing as there are two types of users with different function needs, the product would have to be two mobile apps; one for the shopper and another for the traveler.

User Interface & Experience

It was finally time to bring everything together visually with the User Interface design. For this study, I will be using the visual design of the mobile app for Shoppers only.

ShopAfrica: for shoppers

Onboarding process

For the onboarding process, I had to make sure the message passed was clear and describes the app experience while also making the signup and login buttons immediately accessible so the user can skip the onboarding immediately if they wish.

Onboarding Process

Signup process

I had to make the signup process as seamless as possible so I made sure there were other ways to sign up apart from the traditional email. I added a couple of social authentications which saves the user some time they would have otherwise used authenticating with a code.

Sign Up Process

Preparing for a purchase

After the user signs up and verifies their identity, they are shown the home screen which is initially in an empty state as no package has been received with their unique username yet so all they see is a No packages message.

The user also sees a CTA for them to calculate and get an estimate of how much they would be paying based on the destination of the store, their country, and the weight of their purchase. This helps the user make an informed decision when making the purchase.

Preparing for a purchase

Where do you send the purchase to?

To get an address for our warehouse in the store country where they can send their package, the user simply navigates to the Addresses tab in the bottom navigation where they can select the country and get an address.

Check Warehouse Address

Hey! New package, do you accept?

When a new package arrives for a user, they receive a notification letting them know that they have a new package. On opening the notification, they are taken to the home screen on the app. Here they can see their package now showing in a card on the home screen.

Clicking on the card shows the contents of the package in a new screen with options to either accept the package and proceed to delivery details or to decline the package if they're not satisfied with its contents.

Accept Package

Where should we send it?

When the user accepts the package, they are taken to the delivery details screen and here they enter their home details if they would like to receive the package at their home when it gets to their country or they can it leave blank if they prefer to pick it up at a collection point themselves.

Adding an address

How will you pay?

After confirming their delivery details, the user can now pay for the delivery so they're taken to the payment screen. Here, they can either pay with their card or with payment wallets like PayPal or Apple Pay.

Payment Flow

Live updates and tracking the delivery

Once payment is made, the package is placed on the waitlist for travelers leaving in less than 3 days and the user is taken to a screen to track the delivery journey. Notifications are also sent on completion of each of the four steps in the journey.

Track Order

Learnings & Conclusion

While working on this project I learned that a large part of the delivery process takes place outside of the app experience so for this system to work, a lot of constraints has to be taken into account such as having warehouses in the countries where the stores are located to keep the purchases before they are taken to the Traveller.

Logistics for the transportation of the package both from the store to the Traveller and from the collection point to the Shopper when it gets to the country is also another constraint to be analyzed.

This project was about working on a new solution to a problem right from ideation as opposed to designing for an already established solution and it helped me with thinking about how a company works both from the design and the business perspective which I think is a very important skill for product designers to have.

You can view and test the Figma prototype here: ShopAfrica Prototype

Splittt Coinly