graph LR
    subgraph c["Community"]
        input["Community Input"]
    end

    subgraph ds["Data Selection (vision)"]
        input --> Intake
        input --> Evolution
        input --> Voting
        Intake --> Evolution --> Voting
    end

    subgraph s["Hosted by Geoplatform.gov"]
        subgraph dp["Data Pipeline (Justice40 Repo)"]
            Voting --> a["Approved Datasets"]
            a -- ETL --> ncsv["Normalized CSVs"]
            ncsv--"Score Generation"--> ScoreCSV["Full CSV with Data and Score"]
            ScoreCSV-->GeoJSON
            GeoJSON-->MVT["Uncompressed MVT Tiles"]
        end
        subgraph j40["Justice40 Client"]
            MVT --"API (S3 Access)"--> vl["Justice40 Visualization Library (MapLibre)"]
            vl --> fe["Justice40 Static Site Frontend (Gatsby)"]
        end
    end

    subgraph oc["Other Clients"]
        ScoreCSV --"API (S3 Access)" --> DS["Data Scientists"]
        GeoJSON -- "API (S3 Access)" --> 3["Third Party Apps"]
        MVT -- "API (S3 Access)" --> 3["Third Party Apps"]
    end
