How Timewax implemented a scalable reporting module in their SaaS application

When clients heavily request a feature that is not core to your SaaS business, how do you go about it? Timewax, a Dutch software company, was confronted with this exact challenge. Their focus? Project & resource planning tools. Their users’ top feature request? Dashboards & reporting.

In this article, CEO Mark de Jong explains how they tackled this challenge:

  • why did they add analytics & dashboards to their offering?
  • how did they select a BI tool that fulfilled all their requirements?
  • how did they implement it?

The content in this article was presented during the Data Talks 2020 conference. Rewatch the full talk on YouTube: Tech Tips for Setting Up Your SaaS Reporting Module

Introduction to Timewax

Project-based companies, like advertising agencies or IT consultancy, typically work on different projects for different customers simultaneously. This evidently requires a lot of resource planning.

Instead of having to manage this in bulky spreadsheets, Timewax offers a tool to manage all your projects and resources in 1 single place. Their easy user interface helps their clients to plan their resources more efficiently. Thus, it saves them time and improves the quality of their work.

Why add reporting dashboards to Timewax?

Soon enough, Timewax clients realized they could gain a ton of valuable business information out of this planning process.

  • On which projects did we make the most profit?
  • Which clients generate the most profit?
  • Which of our resources are over or underused?
  • How much budget do we have left on each project?

With this information, these service businesses can make much better planning decisions. Ultimately leading to growing their business & profit. So to get access to these insights, they started downloading data from Timewax and analyzing it in Excel. However, Mark wanted to offer an easier solution for this:

“We focus heavily on a good user experience. Our clients manage everything from our single user interface. So evidently, reports needed to be a part of that. We needed something much sexier than plain Excel charts. At that moment, we decided to look for visual & interactive dashboard, which we could integrate into our own user interface.”

Mark de Jong, CEO at Timewax

Analytics portal inside Timewax

What were the requirements for their SaaS reporting module?

Initially, Mark evaluated the tools he was already familiar with. But he ran into their limitations fairly quickly.

“We were already using Google Data Studio as a dashboarding tool for our internal operations. Although it’s great for internal dashboards, I quickly hit the limits when trying to embed it. It just wasn’t the right fit for the use case we were trying to achieve.”

Mark de Jong, CEO at Timewax

Let’s look a bit deeper into the use case they were trying to achieve. Mark had 3 main requirements, or “knock-out criteria”.

1. Embed dashboards in a front-end application

Timewax needed dashboards that would fit seamlessly into the front-end of their application. This meant:

  • Users can access the dashboards directly inside Timewax: they don’t need a separate login
  • The dashboards don’t have any external branding
  • Users can play around with the dashboards interactively

2. Apply internal access rights to dashboards

Because of data confidentiality, it was crucial for Mark to have an easy way to set up access to the dashboards. This includes:

  • assigning which user gets access to which dashboards;
  • defining which user gets access to which data;

For example, a Project Manager will have access to other features & actions in the Timewax platform than a regular employee. As a result, he needed a solution that also lets them assign which user gets to see which dashboard.

Next to that, 2 Project Managers may work in different departments. They have the same access rights, but they can only see the data of their own department. To resolve this, Mark needed a solution that could also apply that extra layer of data filtering.

Assigning dashboards in Timewax

3. No additional user management or infrastructure needed

That brings us to the last requirement: no additional user management. Mark absolutely wanted to re-use the access rights in Timewax, without any additional business logic inside the BI tool.

“As I mentioned, the single user interface is really important for our clients. It would have been a total no-go to ask our clients: Ok, now that you’ve set your user rights in our system, you’ll have to set them up separately in this BI tool as well.”

Mark de Jong, CEO at Timewax

Not only does it make their client’s experience better, it also saves time for Timewax as a SaaS company:

“After building a prototype in Google Data Studio, I realized I needed to build multiple dashboards and multiple datasets for each client separately to make it work. In our 1-to-many delivery model, this simply wasn’t an option. It doesn’t scale. We needed a tool that would let us roll out a single template dashboard to all our users and clients.”

Mark de Jong, CEO at Timewax

Why was the best fitting solution?

After trying out different alternatives for embedded dashboards, met all of their requirements compared to other BI tools like Google Data Studio. Google Data Studio
Easily embeddable in our own platform (single user experience)
No external branding visible
Ability to assign dashboards to users
1 single dashboard for all users (with automatic filtering applied)
No additional infrastructure needed
No additional user management needed

“ was the perfect ‘lean-and-mean’ solution. Most of the other systems we looked at needed separate servers, which would impact our entire infrastructure. That’s what we liked most about you don’t need to change anything in your infrastructure. It simply plugs into your existing stack: you paste the embed code into your platform, refer to the business logic inside your own platform,… We can even use separate client databases to populate the dashboards.”

Mark de Jong, CEO at Timewax

How did they set up a scalable reporting module?

So after they selected, how did they implement it within their platform?

1. The technical setup

In their current infrastructure, each Timewax client has their own database. In order to communicate between the Timewax platform, the databases and the dashboard, they make use of a broker plugin.

The broker plugin is a small connector that sits between and your data sources. The big advantage is that a broker plugin lets you add extra business rules.

So, what does that mean in Timewax’s case?

When a user logs in to Timewax and opens a dashboard, Timewax will pass on the user identification to the broker plugin. This information also includes extra business rules that have been set in Timewax for this user. In this case being:

  • which client database needs to be used;
  • which additional filtering should be applied, based on the internal access rights in Timewax.

As a result, calls the correct client database, applies the filters defined, and returns the data to the embedded dashboard in Timewax. Because of this approach, they can ensure a high level of data security. That is, a user can never access extra data they are not allowed to see.

“From a performance perspective, this setup is game-changing. The filters are passed on to before calling the database. So instead of retrieving all the data and applying a filter, it only retrieves the data that is specified in the filter. This setup is much more effective, and loads our dashboards extremely fast.”

Mark de Jong, CEO at Timewax

2. The user interface

Inside the platform, Timewax has built a dedicated tab in their product which is called “Analytics”. From this tab, users can access all kinds of dashboards: budget forecasts, profit analysis, planning insights and more. Every widget refers to a specific dashboard, which are managed by the Timewax team in the backend.”

Depending on who is using the system, a user could see more than 10 dashboards, or maybe just 1 or 2. Any Timewax client can set access rights to the dashboards in Timewax, and completely customize that experience to their liking.

The analytics overview tab in Timewax

3. Tips for faster performance

During the implementation phase, Timewax closely worked together with our JEP team. This enabled them to make small changes to their set-up, with a big impact. The following 4 tips helped them boost performance & reduce maintenance time:

  1. Use near-realtime data for faster performance
  2. Create derived fields in your own backend
  3. Less is more, go for simple dashboards
  4. Manage the dashboards centrally

To get more practical advice on a performance-friendly setup, check out his Data Talks presentation.

Get started with a free 10-day trial

Interested to offer dashboards inside your own resource planning application or other SaaS platform? Try the platform for 10 days, completely free of charge!

Add a Comment