Data & Dashboards
E12

Data & Dashboards

Raphaël: Hey folks, and welcome to the
small tech podcast from Ephemere Creative.

I'm your host Raph.

And today we're going to talk
about data and dashboards.

If you like the work that we do, I'd
really appreciate it if you hit that like

and subscribe button on YouTube, or if you
subscribe in your podcast app of choice.

Every little bit helps.

We're a tiny team and we could
definitely use the support.

So today I want to talk about three
different types of dashboards and

data and how we build them, why we
build them, the things that we use

to build them, and they roughly break
down into three different categories.

So it's analytics data that you
generally will use off the shelf, SaaS

analytics tools to build dashboards for.

The other one is when you use BI
tools to create dashboards that

include analytics data and internal
data operations or application data.

And finally the last one is application
dashboards, things that you want

users to interact with and visualize.

So for off the shelf analytics we're
generally talking about things like

Google analytics or Mixpanel or Amplitude.

These are the things that you're going
to use primarily internally, there

are maybe a couple weird edge cases
where you could embed graphs from these

different tools into a public facing user
interface, but for the most part, this

is for your team to understand how people
are interacting with a product, with a

website, something along those lines.

These tools are usually really easy
to get started with you add a snippet

to your website or your application.

Sometimes you need a developer
to integrate with your

application code more tightly.

Maybe identifying users and submitting
events with metadata about those events.

But it usually doesn't take a whole lot
of time to get started and they usually

have some mechanism to say, all right,
I want this event plotted out over time.

Maybe grouped by certain things.

So you want.

Users of a certain type who
were clicking a given button.

You want to know, you want to compare
these different user groups over time

and see if there's any trends you
want to see if there's one that clicks

the button more often than the other.

That's a great reason to set up those
kinds of dashboards, where you can just

quickly get an overview of how your
application is performing, how your

features are performing and understand
your product and your user base.

So next let's talk about
BI data and BI tools.

Business intelligence.

These tools vary in their structure and
usage and that's because BI business

intelligence, that can mean a lot of
things, that can include the analytics

data from the previous section, but it
usually also includes more internal data.

Because it's not just about your
application or your website, it's

about your business as a whole.

You want to understand how, for
example, usage of your application

translates into dollars.

And if you're going to do that, you either
need to find a good way to track dollars

in your application, but that doesn't
always make sense so you want to bring

in data from, for example, a payment
processor like Stripe or Braintree.

You probably also want to understand
how your features correlate

with your work internally.

So you might want to bring in data from
an application like Assana or click

up where you manage your productivity.

And you can start tying all of these
data together into a single data

warehouse where you can visualize and
understand the correlations between

these different types of data to get a
better sense of what's happening, that

leads to more dollars or fewer dollars.

And are you actually using your
resources efficiently as a business?

So the tools that you might want to use
to build out these kinds of dashboards

are well, you'll need a database.

You'll need a place to store your data.

We generally.

For the scale of projects that we work on.

And given that this is the small
tech podcast, we find that a Postgres

database is usually fine, but there
are tools that are specifically set

up for this kind of data, warehousing
to ingest huge chunks of data.

You can think of tools like Snowflake
or Google's big query, or aWS Redshift.

There's plenty of them out there.

So I talked about how you might want
to bring in data from tools like

Stripe Braintree, Asana, ClickUp.

You can even bring in data
from your marketing tools, like

your Google ad words, AdSense

Facebook ads, LinkedIn ads,
all of this other stuff.

And to do that, you will either
need to hire some engineers to deal

with it, or probably more sensibly,
you'll want to use some tools that

already provide that functionality.

We have some experience setting up
a tool called FiveTran, which is

pretty neat, pretty, fairly priced
connects with a lot of stuff.

Basically allows you to connect to your
different tools, point it to a database,

and it takes care of normalizing all
of your data, making sure that it's

in sync, making sure that everything
is updated on a regular basis.

And yeah, it makes it really easy
to pump all of your data into one

database that you can then use to
build your custom BI dashboards.

There's a neat open source
tool called AirByte as well.

We like to use Metabase to
actually produce that dashboard.

It's just a really neat tool.

Because it's open source we just
deploy it onto our own servers

and use that to build dashboards.

But there are other alternatives, like
QuickSight or Google Data Studio or

Tableau or plenty of others out there.

Some of them can get
pretty pricey pretty quick.

Google data studio I find is a
neat product in that you have

access to it if you're already
using the Google workspace tools.

And I don't actually know what it
costs because whenever I've used it, I

haven't run into any pricing questions.

I, so I get the sense that
you don't need to pay for it.

Maybe there are advanced features that
you do need to pay for, but yeah, for

that reason, it's a pretty neat one.

Just before I forget.

Another thing that we like to bring
into these types of databases and

these dashboards is accounting.

And.

Invoicing data.

We use zero for that sort of stuff.

And I found it pretty practical
to have that kind of data

in this type of dashboard.

Okay.

With these BI tools, everything
we've talked about so far

is really internal data.

It's stuff that you want to understand
to get an overview of your business.

But the thing about them is that you can
visualize any kind of data with them.

You can visualize your
internal application data.

You can visualize your analytics data.

If it is in a database.

You might get it in there
using a tool like segment.com.

And if you do have that data in
there, there are some cases where

you want to display that data
back to a user of an application.

Now tools like Metabase do provide
a way of filtering that data so that

you can just provide a dashboard
that is for a given user, for

example, or given organization.

So you can actually use Metabase and some
of these other tools to embed analytics

into your user facing application.

That being said, you can't.

Customize how they are displayed to
the extent that you could building

custom tools and custom dashboards.

So when I talk about building custom
tools and dashboards, essentially

what I mean is you're not using off
the shelf tools for visualization.

And there are a couple of reasons
why you might want to do this.

Hey, you might need to have a
really custom user interface, or

it might need to be tightly coupled
with an existing user interface.

Let's say you have a bunch of sensor
data from an IOT platform and you

have a custom platform where your
users can manage those sensors.

They can interact with the data.

They can see real-time
updates, that sort of thing.

And you want to show them the data
and allow them to graph it and

visualize it and manipulate it.

Maybe annotate it.

All of that functionality is stuff
that you might be able to get 30, 40%

of the way there with the BI tools,
but it will never be as smooth as if

you build it out yourself and really
integrate it deeply into the code that

you're building for your platform.

So that's exactly what we
did for one of our clients.

They have sensors that are out in the
field, monitoring various metrics for

a given use case, and they needed their
clients to be able to interact with this

data, to annotate it, to say at a given
time, this thing was happening and we

can see that there's these different
changes in the different metrics.

So to do that kind of dashboard,
you're generally going to want

to use a charting library.

You could build something yourself but
generally you would use an existing

charting library because building that
from scratch is going to be a lot of work.

So we've used one in the past called am
charts, which is really customizable,

flexible, easy to use and very powerful.

You can do a lot of stuff with it.

We've also built charts and dashboards
on react, native, using a Victory

chart's victory pie and victory.

I forget what the other victory
charting libraries are called, but

it's all under the banner of victory
and they've been pretty great for us.

They usually still offer you a variety
of user controls, animation, that sort of

thing that you can tweak to your use case.

And the thing with them is that when
you're building your own dashboarding

system, you can really customize
things to your user specific case.

You can really make it smooth
and flow very well for that user.

The trade-off of course is the
time it takes to get to your first

graph and the cost of developing
these types of dashboards.

So if you really need things to be smooth,
tight, and designed for a very specific

use case, you might want to go this path.

If you don't, then you might want
to look at BI tools and an existing

sort of off the shelf platforms.

Before we wrap it up, I will
talk about a couple other tools

that you might want to consider.

If you're going to build
your own custom dashboards.

If you're going to build around time
series data, there are a variety

of time series databases out there.

But the one that we found most
practical in this small tech

context is called Timescale.

And the reason that it's practical is
because it's just a Postgres extension.

So if you're already building an
application on a Postgres database, it's

really easy to get started with Timescale.

You can integrate it with tools like
Hasura, you can use other libraries

like Cube JS to make your data
available for your dashboarding system.

It makes it really easy to
build around that type of data.

Of course, you don't
have to use timescale.

You can just use straight up Postgres,
you can use Mongo, you can use basically

whatever database you want, because
a lot of the tools out there are

built to work with a variety of them.

But specifically for time series
data like sensor readings from an

IOT device, timescale is a really
great option to get started with.

Alrighty folks, thanks for listening.

If you enjoy this stuff please like and
subscribe on YouTube and make sure to

subscribe in your podcast app of choice.

And leave us a review.

It would be so helpful for us.

We'd love to hear about why you
like the podcast to what you want

more of what you want less of.

Is there anything that you'd like to
talk about with me on the podcast?

I'm really into the idea of talking to
you about the things you have learned

as you build a small tech business.

Also make sure to subscribe
to our newsletter.

We are going to be sending you
tons of great info about how

to build small tech products.

Everything from videos, blog posts,
and even the podcast episodes

that you might have missed, but
surely you didn't miss any right.

So go to smalltechpodcast.com and click
the newsletter button in the navbar.

That'll take you to the right spot,
and we'll see you in your inbox.

That's it for this week's episode and we
all want to do some good in the world.

So go out there and build something.

Good folks.

See ya.

Episode Video

Creators and Guests

Raphaël Titsworth-Morin
Host
Raphaël Titsworth-Morin
Trying to do good in the world with tech and design. I also take the occasional photograph. Co-founder of Éphémère Creative. He/him.