COVID-19: Kendraio creates Coronavirus Dashboard within Kendraio App

Lena Pagel
Kendraio
Published in
6 min readApr 9, 2020
Kendraio Coronavirus dashboard

In light of the recent Coronavirus crisis, the team at Kendraio — the nonprofit interoperability advocacy initiative behind Kendraio App — has decided to partially shift their focus and use their expertise in interoperability and data portability to assist in the pandemic. One part of this effort is our ‘Coronavirus dashboard’, a tool that demonstrates how we can increase everyone’s ability to access, own and interact with data to discover their own new insights. In this post, we want to share how and why we did it.

All data used in the Kendraio Coronavirus dashboard comes from the John Hopkins University Data Repository on COVID-19, which we access via the Mathdroid and NovelCOVID APIs.

A big frustration was that the Application Programming Interface (API) data structure kept changing. This means that data we were relying on was removed from the original source. For instance, the number of recovered cases suddenly disappeared from the John Hopkins University data repository.

There are so many dashboard services available but Kendraio App is different: there is no Kendraio App server. The App is an open source Progressive Web App (PWA) built using Angular. That means that all the processing is performed on the local client.

For the user, this means that, even though you get Kendraio App from a website, it runs locally on your device. This results in increased personal security and control over the data being interacted with. With Kendraio App, you also have the ability to plug into multiple live data sources (APIs), which enables you to play with data yourself and find the answers to your questions.

However, because we use a flexible, config-driven, lo-code methodology within Kendraio App, we were able to respond quickly to these external changes and easily make modifications to the workflows. In this case, it meant we were able to solve the problem by simply adjusting the mappings.

Configurations in Kendraio App

Graphing data in the Kendraio App is a three-step process, all completely customisable, as the App is driven by configuration. You can do all of this without writing a single line of code — you just need the correct workflow configuration to be created. The three-step configuration process includes:

  1. connecting to and pulling data live from a data source (if we use REST APIs, GraphQL, Google Sheets) or import one time from a file (like Excel, CSV). We are constantly adding new integrations, by the way.
  2. mapping to extract the appropriate information from the data and convert the format to something that can be plotted on a graph
  3. using the ‘chart’ block, configured to display the data that results from the mapping.
Linear graph displaying the number of confirmed cases and deaths

The first graph you see when visiting the dashboard shows the number of confirmed cases and deaths, worldwide on a linear scale. As mentioned before, we ran into issues with the available data. The worldwide number of recovered patients doesn’t exist in timeline form. For some countries, the timeline of recovered patients does exist, but because it doesn’t in all cases, we can’t use it to calculate an accurate global timeline.

Logarithmic graph, showing confirmed cases and deaths

Although a linear scale is probably the most common and straightforward way to display data, it’s tricky to use it for certain types of analysis and forecasting. For instance, on a linear scale, having a few big data points can skew the appearance of the whole graph and can therefore also make it hard to see the differences between the more numerous, smaller data points.

To be able to better see the rate of change of confirmed cases and deaths, we applied a logarithmic scale to the y-axis of the second graph. It was easy and quick to implement this because the chart block accepts various configuration options, including the type of scale to be used.

But the number of cases alone is not enough to be able to indicate trends. For this, we wanted to plot something more than just bare numbers.

Percentage-change of confirmed cases and deaths from one day to the next

When we wanted to plot the number of new cases we got stuck: the figures were not available in the source datasets we were using. We only had access to the number of current cases and deaths but didn’t have enough information to calculate the new cases from this, so we opted for something similar: the ‘percentage change’ graph shows how much the number of confirmed cases and deaths have changed since the previous day. This gives some indication of the general trend, i.e. if things are accelerating or slowing down. Just like the logarithmic scale we used to plot the number of cases, it gives an indication of the general trend.

Country-by-country comparison of cases, deaths, and recovered

Although an international point of view is helpful, we quickly took feedback from our Facebook group on board and implemented an option to view the timeline of confirmed cases, deaths, and recoveries on a national level. This information was also available through the John Hopkins University COVID-19 data repository.

Map showing locations with more than 50 recoveries

Our next graph type is a map. Currently, this shows locations with more than 50 recoveries. Thanks to feedback from our Facebook group, we are currently looking into other information to plot on a map, and we are open to suggestions.

Pie chart, a different way of visualising and comparing the number of confirmed cases, recovered patients, and deaths

The world can be a scary place, so sometimes we all need some good news. For our last graph, we decided to include a pie chart of the original data. Although you can see it at first glance, the fact that the number of recoveries is much higher than the number of deaths becomes very clear when you click on the key to remove the number of confirmed cases from the pie chart.

This is the kind of data manipulation we want to encourage and give everyone the chance to interact with. This kind of engagement is very rare — most of the time we rely on organisations like the John Hopkins University or big news outlets to supply us with ready-made, but static, graphs that we can’t interact with.

At Kendraio, the future we want to build is one where high-quality data is available for everyone to interact with and benefit from. For the individual, this may mean increased awareness of, say, COVID-19 developments. For businesses, on the other hand, this could mean better solutions and products due to better information on market needs and customers. And we want to achieve all of this by working with and improving existing processes and value flows.

Watch Kendraio founder Daniel Harris walk you through the dashboard.

What are your needs in this Coronavirus crisis? Do you need more reliable data? Do you need a dashboard that is tailored to your requirements? Join our Slack or our Facebook group and consider supporting our Coronavirus efforts on OpenCollective.

Subscribe to the Kendraio newsletter here.

--

--

Lena Pagel
Kendraio

Creative Business student living and working in the Netherlands, striving to make the music industry a better place. lenapagel.wordpress.com