Most SaaS companies need to build customer-facing dashboards at some point. Management asks your product team to fit it into the roadmap, and a card for "customer dashboard" is added to your backlog without much thought. As a tech lead, you pull the card from the backlog and hastily put together a design doc after pinging your PM with some clarifying questions. There will be a user-facing chart, some polling, and webhooks magic to pull data from your data warehouse, and you're done. Easy, right?
Unfortunately, it's not quite as simple as that.
In our conversations with dozens of tech leads, we've learned that engineering teams almost always underestimate the amount of work needed to build and maintain customer-facing dashboards.
What might initially seem like an innocuous one-off feature request turns into a hairy beast of a project that could require a full headcount to maintain over the years.
We're here to help you understand how building customer-facing dashboards impacts your engineering team so that you can make an informed decision on how to proceed.
We interviewed 116 developers at SaaS companies spanning 3 to 40-person teams about their experience building analytics solutions for their customers. From our conversations, we discovered three areas that every engineering team found challenging:
Let's go through each of these to unpack the details of what makes them hard.
As a part of building customer-facing dashboards, developers need to pull data from multiple data sources into their app. Unfortunately, sourcing data correctly takes way more time than anticipated. Engineers don't always have the proper support or access to data. They can also get distracted by competing product deadlines, adding days to the data centralization process.
After dozens of meetings, delayed data access requests, and frustrating calls with customer support of data providers, they finally get all the necessary data into a single data warehouse.
Next, engineers stream data from the warehouse to the application to serve customers. Frail processes and broken data pipelines pop up at this step, delaying engineers further. Depending on the backend, developers might have to write new data integrations and connectors that are challenging to implement well and a pain to maintain long-term.
We're yet to meet an engineer who thought this process was straightforward or a good use of their time.
When shipping customer-facing analytics, developers have to make many architecture decisions even before the first line of code is written. These high-level decisions are hard to reverse and have serious downstream impacts. The wrong decision can open security risks, increase maintenance costs, and limit future features. These back and forth discussions with Product Managers, Data Analysts, and customers can lead to analysis paralysis. We've seen teams let a quarter roll by without making material progress on such decisions.
These questions are highly contextual, and answers vary from customer to customer. Each customer has slightly different needs from their analytics and dashboards. Taking a “one size fits all" approach leads to frustrated customers who can't answer their questions from their dashboards, tanking customer satisfaction.
Your dashboard becomes an ongoing cost rather than a one-time feature. Building customized solutions for each customer is not scalable and puts an unsustainable burden on the development team.
Data management requirements force developers to piece together who, what, when, where, why, and how a particular data type can be used. Implementing sensible access policies abstracted at the right level takes time. You don't want your code littered with if statements that no one understands six months later. Understanding and implementing new access policies generate complexity in your code base.
Inconsistent implementations of access controls and user authorization open up security risks. You don't want the wrong people accessing confidential data. Even after paying a lot of attention to data access controls, developers often get complaints from customers saying they can't access their data.
Our interviews lay out a clear developer problem. To guide future decisions and help developers with these problems, we asked ourselves a simple question, one that was both aspirational and practical. “How can developers overcome customer-facing analytics complexities?,” which we later simplified to:
How can Explo help developers deploy customer-facing analytics - easier and faster?
Over the last year, we focused on simplifying and abstracting the challenges we captured from developers so they can sleep well at night knowing their customer dashboards are taken care of.
Abstracting the complexities of integrating data sources was high on our list. But we didn't just want to stop at improving the developer experience. We wanted to go a step further and give end-users the power to customize their reports and pull in data on their own. We created easy-to-use self-service tools that any developer can embed in their product quickly.
Instead of reaching out to their Customer Success Manager or Customer Support and requesting a custom data report, customers can just help themselves with Explo's intuitive dashboards.
This saves your engineering and support teams time and makes your customers happier since they can access the data they need without bothering anyone.
Developers already know how to write code to solve problems. But they want to do that for their core product and work on unique, interesting problems at their companies. It's a waste of time to reinvent the wheel with customer dashboards. Every engineer we interviewed wanted to reduce the mundane and error-prone parts of their job. So we made it easy for developers to embed dashboards through our API. We also built a web component compatible with React, Vue, and Angular so that the implementation only takes a few minutes.
Engineering, security, and support teams can tailor access, visibility, and functionality for every customer's dashboards. Explo's customer portal provides additional management layers, allowing developers to segment dashboards by customer or events, as well as debug, and manage user access.
When building customer-facing dashboards from scratch, engineers will spend more money and time than initially anticipated. They end up with a solution that doesn’t scale without additional development cycles to meet each unique customer request. There are lots of hidden costs that tech leads can miss, like:
Give your developers a platform like Explo that makes building and managing customer-facing dashboards easy. Explo can help your developers save time by simply copying a few lines of code to embed our pre-built interactive dashboards and reports directly into your web portal or application.
Watch this brief demo to get a better idea of what we can do for you.
Or take a few seconds to make your own dashboard by creating a free account right now. You can get to production without a credit card — it's free to get started.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
Block quote
Ordered list
Unordered list
Bold text
Emphasis
Superscript
Subscript
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
Block quote
Ordered list
Unordered list
Bold text
Emphasis
Superscript
Subscript
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
Block quote
Ordered list
Unordered list
Bold text
Emphasis
Superscript
Subscript