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

    subgraph ds["Data Selection"]
        input --> Intake
        input --> Evolution
        input --> Voting
        Intake --> Evolution --> Voting
    end
    
    subgraph s["Geoplatform.gov"]
        subgraph dp["Data Pipeline (Justice40 Repo)"]
            Voting --> a["Approved Datasets"]
            a --> Properties
            a --> Geometries
            Properties --> Processing
            Geometries --> Processing
            input --> Processing
        end
        subgraph Server
            Processing --> GeoJSON
            GeoJSON --> db[("Feature Database")]
            db --> tileserv["Tile Server"]
        end
            subgraph j40["Justice40 Client"]
            tileserv --> vl
            ts["Tile Styling"] --> vl["Justice40 Visualization Library"]
            vl --> fe["Justice40 Static Site Frontend"]
        end
    end

    subgraph oc["Other Clients"]
        tileserv -- API --> 3p["Third Party Apps"]
        GeoJSON -- API --> 3p
        db -- API --> 3p
    end
    