Product Launch
3 min read

Launch: Data Apps

Dashboards are nice and all, but sometimes you want to go crazy with your data visualization, no?

Burak Karakan

Co-founder & CEO

We have launched our Dashboard-as-Code (DaC) solution as an open-source product and a spec a few months ago. The idea was that conventional BI with drag-and-drop UIs were not fit to today's reality, and agents were not able to work with them. This required redefining what is possible with BI tooling, and we came to our own approach with DaC, and we fully open-sourced it.

However, as our customers started adopting DaC, their demands started increasing as well. Like any other innovation, when you break a glass ceiling, imagination takes over. The users asked more, and we tried to keep up with it: new chart types, new options, new ways of adopting the dashboards. However, we felt that we needed a new way of working with the data vis.

There is one thing I learned from our customers here: since it became so easy to create dashboards, why not demand more from our tools? Could I build different types of visualization? Could I make the dashboards interactive? Could I take actions from the dashboards?

This is where the data apps became a reality.

Announcing: Data Apps

Data Apps are dynamic React applications that you can manipulate with the agent in Bruin Cloud. You can use them to build any UI that queries your data warehouse.

Various demo views of Data Apps

Data Apps allow you to break out of the standard capabilities of the dashboarding tools, and they allow you to create various other ways of visualization data, such as:

  • custom dashboards with your own branding and design language
  • presentations
  • interactive displays
  • even browser games1

This allows data apps to be very flexible in terms of fitting your needs. You can share them internally, build dashboards just for yourself, and play with the data just the way you want them to be.

Secrets & External Requests

One of the concerns around data apps in general is that they usually contain static data, which is easy to build as a static HTML file. However, that only solves a part of the problem.

When we decided to build data apps, we wanted them to be dynamic by default: they would be able to query your datasets, use your semantic layer, and make external requests. While this sounds trivial, a lot of the solutions require embedding the secrets into the generated frontend code, and that's not reasonable.

In order to eliminate this problem without having to build our own Netlify/Render/Vercel/Cloudflare, we decided to take a shortcut:

  • Every external request is proxied through our backend.
  • All these requests are registered ahead of time when the app is created, along with the credentials they would require.
  • When a new request comes in to our proxy endpoint, it runs a bunch of validations, then constructs the request and sends it through with the appropriate credentials being replaced.

This allows us to do more advanced things like proper request routing for private endpoints, while also being able to deploy the apps throughout the rest of the organization without exposing secrets into the generated data apps.

Getting Started

Data Apps are enabled as part of the beta rollout to a select set of clients. Reach out to me, or your account manager, to get them enabled in your organization. They are a bit slow to create at the moment, might make mistakes, and generally expensive for us to run, that's why we are only rolling them out to orgs we know. We will continue making improvements in them and make them generally available soon.

I am quite excited to see where things are heading, and happy to put another nail in the BI coffin.

Footnotes

  1. I built an internal dashboard that simulates our internal data inside the Dunder Mifflin Scranton office from the US TV show The Office. When you approach Michael Scott's desk, you get a random joke instead of the report though.

Sign up to our newsletter

Practical updates on open-source data pipelines, AI analysts, governance, and what we are shipping at Bruin.