The 1st production Redwood app: Predict COVID-19 by country

This weekend, Zach Latta & I built the first Redwood app in production: Predict COVID-19. It’s an interactive visualization of the global COVID-19 pandemic, allowing you to see the case trajectories of each country. The main takeaway: the U.S. outbreak is 10 days behind Italy, & tracking it exactly. (see pink line vs green below)

https://predictcovid.com

Technical overview

Backend

  • We used a SQLite database in development, then Heroku Postgres for early deployments, but switched to MySQL on AWS RDS for the final deployment
  • We used 3 tables: Country (for grouping/storing country info), Day, & DailyCount (each of the statistics for a day for a country)
  • We used a lambda function for the data scraper (does standard web scraping & saves to the database)
  • Deployment is hosted on Netlify, with Pingdom analytics

Frontend

We used 3 cells for the homepage, which dictated the general technical structure of the frontend.

  • Countries is the left sidebar, where you can pick which countries to plot & which is the default. I used basic React Hooks for state management here, nothing crazy.
  • DailyCounts is the main graph, rendered with Recharts.
  • Stats is the sparklines + stats at the bottom. We auto-detect what country you’re in & show stats for that country if it’s represented on the site.

It’s entirely open source, here: https://github.com/lachlanjc/covid19

Shoutout to the entire Redwood team for their incredible assistance in deploying the project, including setting up the database <3

Check out the site, & ask us anything about the development experience!

7 Likes

Really awesome job! Can you tell us what the development experience was like compared to other projects and deployments in the past? Would you go so far as to say that Redwood is the best framework ever created, if not the culmination of nearly 80 years of computer programming methodologies? :smiley:

1 Like

Thanks Rob! I’ve used Next.js + Gatsby extensively in the past, this was my first time with Redwood. Things started off super smoothly, the generators were handy & I found using cells particularly intuitive.

I think the most complication in the development process came from our lack of familiarity with the GraphQL part of the stack, & we struggled with database scaling/caching. But overall I’m incredibly excited for Redwood—I’d absolutely agree it’s a culmination of decades of programming methodologies, & in a really wonderful way!

oh @rob how you have me all :rofl:

Congrats as well! This is a really exciting project to see launched :rocket:

Given this was a blazing fast turn-around (48 hours!?!), are there things you wanted to do but couldn’t? Not just from a time perspective but a feature/function capability?

And are you thinking about adding some features as next steps? I was curious about seing 1) a regression prediction based on current data as well as 2) a logarithmic visualization. To be clear, it’s super informative as is! Just giving my initial reactions as fwiw.

And huge thanks again for trusting Redwood with this project. It was a pleasure to help in any way we could.

2 Likes