Reporters have the daunting challenge of not just covering a static dataset, but rapidly changing data with both national and international implications. It's a global story where we all need to learn slightly more complex statistics (think exponential curves) in order to make an invisible virus visible.
- If the image isn't replaced, then the data will quickly become incomplete and possibly misleading given the exponential nature of growth.
- Everyone is doing their individual region-specific stories, but this pandemic is very much international and static images don't encourage international comparisons.
coronavirus-charts.org : accessible citations to covid-19 data and models.
Each citation returns a webpage with a collection of matching charts that have been updated to the most recent data.
Citations are just links that you add to your content
- coronavirus-charts.org/fr/us/jhu (coming soon)
- coronavirus-charts.org/us/2020-03-30 (coming soon)
- coronavirus-charts.org/es/model-a/2020-06-01 (coming soon)
You can even use it for research
- Need to quickly check a stat for a specific location? Going to coronavirus-charts.org/
sourceis a good place to start.
- Need to check a specific set of stats regularly? Just bookmark a direct link for a lightweight reference.
- Find a citation on another website? adding your country-code to the end of the citation will add your country to the comparison.
We don't collect any data ourselves, my prediction was that there would be many competent teams developing data endpoints to enable innovation, and so far I've discovered:
The whole system is intended to enable easily querying multiple endpoints, and then transforming the data into a collection of Facts that we can then use in a rules engine to generate charts.
How it works - consider, "/fr/us"
- We first check to see if we have any reports associated with the country-code "fr"
- There is, so we generate the relevant charts
- Then we repeat for the next part, "us"
- After we generate all that we can, we combine them and return a webpage
( A more in-depth diagram can be found at here )
Marketing and Distribution
- Direct outreach to reporters and podcasters covering the topic
- Hopefully the onboarding is easy enough that it spreads organically
- Articles published with a citation will naturally share the tool
- Devpost does not allow emojis, but it's also accessible through the emoji subdomain [
barchartbarchart.to] I hope that this is convenient for posting on social media or when instant messaging.
- It's all self-funded right now, but I'll apply for grants soon
- I'm hoping that we can use aggressive caching to keep server costs down
- Maybe we can give sponsors a "supporter" badge in some form (maybe links that come with a ref=theirsite get some extra css styling applied with their brand colors)
The project has been released as an open source project. My dream is to have multiple contributors. I know that the code is a litte clumsy in parts, but a major benefit of the rules-based approach that we're taking is that we can swap out and improve each individual part easily.
My hope is that this structuring allows us to have multiple teams of developers working on different aspects at the same time.
In support of getting volunteers, I'm going to continue livestreaming the development on twitch.tv/rainbow_bamboo. Starting Monday April 6th, we'll have a morning show where we go through what I (and hopefully the community) has been working on and then we have an hour of livecoding. The idea is that streaming is an opportunity to onboard new developers to the project.
- [ ] A new datasource
- [ ] Charts from oz (I only just found oz writing this post, and I'm going to replace our fun but axis-less FF-Chartwell (pdf) based graphs with it)
- [ ] statly
- [ ] Navigation with links generated through the rules engine
- [ ] An expanded source-box with more information about each datasource
- [ ] Some educational content (maybe contributed?) on how to read the graphs
(we can probably generate custom text that references the data on the page so that each chart can have an "explain" link that just shows things like "A growth rate is.... the one on the chart you're looking at is X on March 28th and Y on April the 2nd")
- [ ] The layout needs some work, but I think I have a good approach based on the excellent every-layout.dev
How can you get involved?
- Here's the code on github.
- And the docs
- Drop by the stream at twitch.tv/rainbow_bamboo where I code live
- Support me directly with ko-fi
- Like this entry!
Try It out
clara, clojure, heroku, hiccup, rules, xapix