Skip to content

Repository files navigation

Covid Demographics Explorer

CI

This app uses data from the American Community Survey (ACS) to help people understand how America has changed since Covid-19. You can view trends for the nation, all 50 states, and all counties and cities with populations of 65,000 or more.

The app has three tabs:

  • Trend — a time series showing how a demographic changed in your selected location from 2005 to 2024
  • Compare Years — an interactive scatterplot showing how all locations changed between any two years, with a sortable table of the underlying data
  • Ranking — a scatterplot and table showing where your selected location stands relative to all others for a given year and demographic

In addition to informing the public, I hope that this project will inspire others to use Python to explore Census data. If you'd like to use this repo as a starting off point for your own project, see DEVELOPER.md.

I've written a series of blog posts documenting how this project evolved. If you're interested in building something similar, they walk through the key design decisions and technical choices along the way:

  • How Remote Work Has Grown — and Shrunk — Since Covid — a case study using the latest version of the app, showing how remote work more than tripled nationally between 2019 and 2021 and has declined since — but unevenly, with striking local variation. This version also introduced several major changes: coverage expanded beyond counties to include the nation, all states, and cities; a swarm plot was replaced with a dedicated Compare tab featuring an interactive scatterplot; and a new Ranking tab was added.
  • New Release: Covid Demographics Explorer v2 — covers the addition of a swarm plot for comparing a location to all others, plus significant codebase improvements including CI, migration to uv, and better project structure
  • San Francisco Python Meetup talk (June 2024) — a talk about an earlier version of the project, focused on how it uses Streamlit
  • Creating Time Series Data from the American Community Survey (ACS) — covers two subtle but important pitfalls when treating ACS data as a time series: variables can silently change meaning across years, and geographies can appear and disappear
  • Visualizing the Impact of Covid-19 on US Counties — explains why the 1-year ACS at the county level was chosen for the initial version of the app, and why Census tracts don't work for this purpose
  • Building a Census Explorer in Python: Part 1 — the origin of the project: why Streamlit was chosen over other frameworks, why censusdis was chosen for Census data access, and how to approach learning Python seriously as an experienced R programmer

This app was created by Ari Lamstein.

About

App to explore the impact of Covid-19 on US county-level demographics.

Resources

Stars

21 stars

Watchers

2 watching

Forks

Contributors

Languages