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.
Why is Customer-Facing Analytics a Developer Problem?
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:
- Integrating data into their application
- Sharing data with customers
- Managing data access and controls
Let's go through each of these to unpack the details of what makes them hard.
Observation #1: Data Integration Competes for Resources, Priorities, and Timelines
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.
Observation #2: Sharing Data with Customers Isn’t Black and White
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.
Observation #3: Managing Data Access Eats Up Valuable Time
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.
Making It Simpler to Deploy Customer-Facing Analytics
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.
#1 Tools to Integrate and Visualize Data
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.
#2 Enable Faster Embedded Analytics
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.
#3 Centralize Controls and Operations
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:
- Opportunity cost for engineers: What other critical features could they be working on instead?
- Ongoing cost of maintenance: The headcount and dev cycles needed to maintain your dashboards.
- Ongoing cost of improving the system: As customer needs grow and the volume of data served scales, you'll need to invest in enhancing your homegrown solution with new requirements.
- Subpar outcome: The complexity of the task makes it very likely that you're going to do a subpar job if you build customer dashboards in-house. This leads to unhappy customers and lower retention, revenue, and lost deals.
The Easier Approach To Customer-Facing Dashboards
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.