Building a no-code app to send daily Covid-19 data

I live in Contra Costa County in the San Francisco Bay Area. The county has setup a web site with Covid-19 information for its residents. The main page shows key Covid-19 data updated daily. I have been visiting this page almost daily. This is how it looks for Friday, June 19, 2020:

Covid-19 data for June 19, 2020

I wanted to build an application that would email me this data every day. To continue my no-code journey I built a no-code application that sends me a daily email with the latest data. I didn’t need to write a single line of code!

These are the tools I used to build the application:

  • Simplescraper – to scrap data from the county web site and turn it into an API
  • Parabola – build a flow to invoke the API and send the email

This is how the application flow looks in Parabola:

Parabola flow

Let’s review the application flow.

API Import step

The API Import step allows to invoke any external API. In this application I invoke an API for a custom scraper I built to scrape the county web site for latest Covid-19 data. Simplescraper is an easy-to-use tool that allows to scrape a web site and create an API for it.

Simplescraper API

This is how the JSON response from the API looks:

[
  {
    "current_hospital": "26",
    "index": 1,
    "total_cases": "2,111",
    "total_deaths": "55",
    "total_tested": "53,049",
    "url": "https://www.coronavirus.cchealth.org/",
    "url_uid": 1
  }
]

Now invoking Simplescraper API in the API Import step:

API Import step

We are almost ready to send the email. Before we do that we only need to add the email address.

Add Columns step

In this step a new column is added with the email address where to send the email.

Add Columns step

Next step is sending the email.

Send Emails step

In the last step I’m using Parabola built-in Send Emails step to send the email, creating the email message using data from the API response:

Send Emails step

You can test any flow right away. You can also schedule a flow to run periodically.

Scheduling

I scheduled this flow to run once a day (weekdays) at 12pm PT:

Flow schedule

I get an email that loos like this:

Covid-19 daily email

Summary

It’s incredible how fast you can build this application using no-code tools. My next step is to create a video that shows how to build this application. I also want to modify the application to include data from the previous day to get a better idea which direction the numbers are changing.

I did have to spend a little extra time learning how to use Simplescraper. It’s mostly due to the county web site not having a good structure. I had to set CSS selectors manually for Simplescraper. In general you can just click on an element on a page and Simplescraper picks it up automatically. This approach also worked but required a few extra steps in Parabola (the API response had to be cleaned and formatted). I reached out to Simplescraper support (which is great!) and they helped me setup a more elegant scraper using CSS selectors.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.