Better web UI for viewing COVID wastewater data
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
xenofem bf278259e2 Replace omicron cutoff with generic percentile cutoff 4 weeks ago
src cargo fmt 2 months ago
static Replace omicron cutoff with generic percentile cutoff 4 weeks ago
.gitignore add result/ to .gitignore 10 months ago
Cargo.lock update Cargo.lock 2 months ago
Cargo.toml bump version to 0.1.1 2 months ago
LICENSE MIT license 10 months ago remember to cargo run in release mode 9 months ago
flake.lock flake update 2 months ago
flake.nix ditch crate2nix, use fenix instead of oxalica/rust-overlay 2 months ago


A better web UI for COVID wastewater data

💩📈 is a simple web server that periodically downloads a data PDF from the Massachusetts Water Resources Authority, parses it to extract the data, and serves the data as CSV and JSON along with a simple Chart.js-based web frontend.

Environment variables

  • CACHED_PDF_PATH: file path to save the PDF to. Default: ./data.pdf.
  • STATIC_DIR: directory containing static files to serve. Default: ./static/.


Nix Flakes

nix run git+

(The Nix package is wrapped with STATIC_DIR set automatically to the correct Nix store path, so it'll serve the static files properly no matter what directory you run it from.)


git clone
cd poop-graph
cargo run --release

Other setup

  • 💩📈 serves HTTP on, and is meant to be used behind a reverse proxy (e.g. Nginx), ideally with SSL certificates (e.g. Let's Encrypt). If you prefer, you could also use that web server to serve the static files, and only pass requests for /data.csv and /data.json to 💩📈.
  • You'll probably want to set up a service (systemd or whatever your OS uses) to start 💩📈 automatically with environment variables set appropriately.