B2B SaaS

Smapp panel

Design a customer ‌B2B Panel for Snapp's Map Services and APIs
A cover with mockup which gives you whole concept

Introduction

What is Snapp?

Snapp! is known as the Uber of Iran with over 55 million users. The company is the largest and fastest growing internet company in the Middle East, a great app that offers many services, but it's a case study in ride-hailing as its most used service with 3.8 million rides per day.

Overview: Simplifying Map Service Delivery with a User-Centric Customer Panel

Snapp provides powerful mapping services and APIs to companies, enabling them to integrate advanced mapping and location-based capabilities into their applications. To simplify integration and ensure efficient management, I designed two distinct panels: an admin panel and a customer panel. This case study focuses on the customer panel, exploring its features, functionality, and benefits.

Facing the Challenge of a Technical Project

The biggest challenge I faced was working on this technical project, which required engineering skills that were outside my expertise and hard to understand

How did I overcame?

To overcome this challenge, I made a point to collaborate closely with the engineering team. I set up regular meetings with product managers and engineers, which really helped me get a better grasp of the project’s complexities. I also spent time studying on my own, digging into concepts that would boost my technical knowledge. But in the end, it was the open communication and teamwork with the product and engineering teams that truly helped me bridge the knowledge gap.

What were the problems

To better understand the problem, I held meetings with stakeholders and product managers. Through these discussions, I identified the key requirements and issues, which I've summarized here as the Business Problems:

  • Difficult integration
  • Inadequate user access control and usage monitoring
  • Lack of a single entry point across internal APIs
  • Insufficient billing reports
  • Absence of rate limiting
  • Lack of automated invoicing

Our goal

The goal is to create a customer panel to streamline the management and use of Snapp's map services, improving overall efficiency, simplifying the service acquisition process, and enhancing user interaction.
we aim to measure our success at the end by evaluating these quality metrics to ensure that we have achieved our desired outcomes:

  • Reduction in time and steps required to acquire services
  • Improvements in administrative tasks and overall management processes
  • Positive feedbacks from users about their experience with the panel

Uncovering User pain points

After understanding the core business problems, I needed to find out what specific issues users were facing with the current system. I chose to conduct interviews because I needed qualitative data to really grasp their experiences, and there wasn’t any other relevant data available. Since the end users were engineers, I felt it was important to get detailed insights directly from them, so I decided to speak with them in person. I interviewed five people who use our APIs, and these conversations revealed several key pain points that were impacting their daily workflows:

  • Slow and complicated service delivery process
  • Lack of  effective monitoring system
  • Lack of a unified service catalogue
  • Billing confusion and lack of clarity

MVP features to tackle core problems

Based on business needs and user pain points, we selected specific features to address these issues. As this was for the MVP version, features were selected based on their feasibility and importance in collaboration with the product and technical teams. This approach ensures that we focus on the most critical and achievable solutions.

Features

  • Landing Page
  • Profile
  • Login
  • Dashboard
  • Create a key
  • Key list
  • Monitoring
  • Billing

Site mapping

After finalizing the MVP features, we created a sitemap to guide us. This helped us organize the panel’s structure so that all key features were logically arranged and easy to access. It also kept our focus on user flow and functionality.

Exploring Key Screens

In the following sections, I will walk through some of the key screens of the MVP, explaining their functionality and the design challenges we faced while developing them. Each screen reflects our efforts to create a user-friendly experience while overcoming specific hurdles related to layout, usability, and technical constraints.

Create an API

An API key is a unique key that allows users to access the services and features provided by Smapp. With an API key, users can access one or more services and apply their own specific settings on them.

First iteration

Creation process in a modal page

We decided to display the API key creation process using a modal because it keeps the user focused on the task, which is important as we wanted to ensure the user’s attention remains on creating the key without distractions.

Why it doesn’t work?

After discussing with the product manager, we realized that in the near future, the number of services will increase, and the currently inactive services will also be activated. As a result because of the limited space, the content of the modal will expand significantly, leading to lengthy scrolling for users.

Last iteration

Creation process in a page

Finally we used page to creation process because of:

  • More space for content
  • Easy navigation
  • Scalability for future growth

These benefits ensure that the page approach offers a more user-friendly and scalable experience as the product evolves.

Challenge

Design system

We used nested radio buttons because that was the best choice at the time. Adding new components to the design system was not possible and we had no other choice. This was also a challenge, as we were limited to using the components available in the design system.



API keys

On the "API Keys" page, users can create new keys, view a list of all the API keys they have created, and manage them.

The user should be able to view:

  • Key
  • Key name
  • Creation date
  • Last modified date
  • Usage report
  • Associated services

The user should be able to perform actions such as:

  • Delete
  • Edit
  • Activate or deactivate the key

First iteration

Each key, one card

We used cards to display the keys in the first iteration because they’re easier to read, make actions quicker to access, and look more visually appealing.

Challenge

Why was this design abandoned?

Since we didn’t want the design of the customer and admin panels to differ significantly due to time and implementation constraints, we needed a solution that could work for both. Given that the number of API keys in the admin panel would be much higher, using cards was not an ideal approach for the following reasons:

  • Harder navigation
  • Difficulty in finding information and filtering data
  • Cluttered layout

So, we decided to move away from the card design and look for a more scalable and user-friendly solution.

Final iteration

Choosing Tables Over Cards

We decided to use tables instead of cards for the following reasons:

  • Easier navigation
  • Optimized display of information
  • Sorting and filtering
  • Better data management

Monitoring

The monitoring page provides key metrics like Traffic, Errors, and Median Latency, displayed in both charts and tables. Users can filter these metrics by Time, Keys, or Services, allowing for a focused analysis of the data. This setup helps users quickly identify issues and take corrective actions to ensure smooth system performance.
The aim of this page is maintaining oversight and addressing potential problems proactively.

Challenge

Working Together to Meet Time and Design Constraints

The main challenge of this page was related to the charts. Given the time constraints and the importance of time for both the product and tech teams, as well as the limitations of the design system, such as a limited color palette, we selected the charts from the Chart.js library through close collaboration with the developer.

Testing Internally Before Full Launch

Since the project was an MVP with tight deadlines and scope limitations, we didn’t have the chance to do thorough testing before the launch. As a designer who values effective design, I convinced the product team to first launch the panel internally for Hobby’s own ventures. This way, we could gather usability feedback before a full rollout, ensuring the design wouldn’t be released to a large group of users without proper evaluation.

What usability revealed

After launching the customer panel internally for Snapp’s ventures, I conducted a moderated usability testing with 5 admin users of the customer panel with following test scenarios.

1. Creating a new API key

2. Managing and editing existing API keys

3. Navigating the monitoring page and filtering data

This allowed us to identify the following key pain points:

Pain points

1. Users had trouble identifying disabled items when selecting services and restrictions.

2. The process of selecting APIs using nested radio buttons during key creation seemed confusing for users, and the selection process was time-consuming for them.

How we improved

To address the identified pain points, we made the following improvements to enhance the user experience and resolve the issues. We implemented three key improvements:

“Coming Soon” Text:

We added a “Coming Soon” label to disabled items so users can easily see at a glance that these services aren’t available yet but will be soon.

A Tooltip for Disabled Items:

We added a tooltip that pops up when users tap on a disabled item, letting them know it's currently unavailable but will be ready soon.

A multi-selection component instead of nested radio button:

Considering the expected increase in APIs in the future, we replaced the nested radio buttons with a multi-select component that was added to the system design after launch. The advantages of using this new component are increased efficiency, search functionality, and better space utilization.

New path ahead

After those improvements, we gradually rolled out the full 100%, knowing we had enhanced the user experience and prepared it for a broader audience. this was just the start of a long journey ahead.

Achievements

Two months after the full release, we conducted user interviews to evaluate the quality metrics and determine whether we successfully achieved our goal for the MVP phase of the project:

  • Reduced time and steps for service acquisition
  • Enhanced administrative and management processes
  • Positive user feedback

These results demonstrate that our customer panel effectively met its goals and delivered the anticipated improvements in service management and user experience.

Reflection

What I Learned

Enhancing my technical knowledge:

The technical nature of this work was challenging, but in the end it
turned out to be a valuable learning experience for me and I became
familiar with more technical concepts.

The importance of collaboration and communication:

I also learned the critical importance of clear communication and
collaboration with cross-functional teams, which was essential
for bridging the gap between design and development.Overall,
this experience has made me more confident in handling
complex technical projects in the future.

Next steps

With the completion of the MVP, our next step is to:

  • Add new features and improvements in the next phases.  
  • Improve the panel based on the needs and feedback from users and product requirements.  
  • Ensure the panel evolves to meet growing user demands and product objectives.