graph TD
    Dataset1["Dataset 1"]-->ETL1
    Dataset2["Dataset 2"]-->ETL2
    subgraph "ETL and Score Generation"
        ETL1["ETL for Dataset 1"]-->ncsv1("Normalized CSV (S3)")
        ETL2["ETL for Dataset 2"]-->ncsv2("Normalized CSV (S3)")
        ncsv1-->Score
        ncsv2-->Score
        Score-->DL("Downloadable zip")
        Score["Generate Score (score-run)"]-->CSV
    end
    DL-->Client

    Census["Census TIGER Data Shapefiles (hosted by Census)"]-->CGTiger
    subgraph "Census Data ETL"
        CGTiger["Create GeoJSON from Shapefile with ogr2ogr"]-->TS3
        TS3("TIGER GeoJSON State Files(S3)")-->CombineCensus["Combine Census State Files with Geopandas"]
        CombineCensus-->NCS3("National Census GeoJSON (S3)")
    end
    
    CSV("Full CSV (S3)")-->CGJ
    NCS3-->CGJ
    CGJ["Combine with ogr2ogr + Create GeoJSON (score-geo)"]-->GeoJSON
    GeoJSON("GeoJSON files (high and low zoom) (S3)")-->Tip
    Tip["Create and Send Tiles using Tippecanoe"]-->Uncompressed
    Tip-->Compressed
    subgraph production
        Uncompressed("Uncompressed MVT high and low directories (S3)")
    end
    subgraph development
        Local("Locally stored tiles")--"Option 1"-->TS
        Compressed("Compressed high and low .mbtile files (S3)")--"Option 2"-->TS[/Tileserver-GL/]
    end
    
    TS--"XYZ URL"-->Client
    Uncompressed--"XYZ URL"-->Client["Gatsby+MapLibre"]
