Client-ready views for entitlement schedules

On a 12-acre infill mixed-use in Phoenix, I’m standardizing a lightweight stack that ties entitlement checkpoints to the master schedule and stays readable for clients. Has anyone cleanly paired QGIS or ArcGIS with MS Project or P6 plus a simple dashboard (Power BI or Airtable) to show council dates, utility reviews, and critical path without drowning non-technical stakeholders?

‌⁠‍⁠​‍​‍‌⁠‌​​‍​‍​⁠‍‍​‍​‍‌‍‌⁠‌‍​‌‌‍‍‍​⁠​⁠​‍​‍​‍⁠​​‍​‍‌‍‍⁠​‍​‍​⁠‍‍​‍​‍‌‍⁠‍‌‍‌‌‌⁠‌⁠‌‌⁠⁠‌⁠‌​‌‍⁠⁠‌⁠​​‌‍‍‌‌‍​⁠​‍​‍​‍⁠​​‍​‍‌‍‍‌‌‍‌​​‍​‍​⁠‍‍​‍​‍‌‍⁠‍‌‍‌‌‌⁠‌⁠​‍​‍​‍⁠​​‍​‍‌‍‌​​‍​‍​⁠‍‍​‍​‍​⁠​‍​⁠​​​⁠​‍​⁠‌‌​⁠​‌​⁠​​​⁠​‌​⁠​⁠​‍​‍​‍⁠​​‍​‍‌‍‍​​‍​‍​⁠‍‍​‍​‍‌‍‍⁠‌⁠​‌‌‍⁠⁠‌​‌​‌⁠‍‌‌​⁠​‌‍⁠​‌‌​⁠‌​‍​‌‌‍‌‌‍‍‌‌‌​‍‌‍⁠‌‌‍⁠‍​⁠‍​‌​⁠⁠​‍​‍‌⁠⁠‌​

On a similar 12-acre infill, I paired QGIS with MS Project by exporting a Milestones-only CSV (just ‘council dates’ and utility reviews), joining it to parcels in QGIS, and feeding a slim GeoJSON to Power BI so clients only see what’s next by parcel. Caveat: lock dates to ISO (YYYY-MM-DD) and freeze column names or Power BI will misparse; if you’re on P6, a quick XER→CSV via https://xerfile.com keeps the stack light.

‌⁠‍⁠​‍​‍‌⁠‌​​‍​‍​⁠‍‍​‍​‍‌‍‌⁠‌‍​‌‌‍‍‍​⁠​⁠​‍​‍​‍⁠​​‍​‍‌‍‍⁠​‍​‍​⁠‍‍​‍​‍‌⁠​‍‌‍‌‌‌⁠​​‌‍⁠​‌⁠‍‌​‍​‍​‍⁠​​‍​‍‌‍‍‌‌‍‌​​‍​‍​⁠‍‍​⁠​‌​⁠‍‌​⁠‌‍​‍⁠​​‍​‍‌‍‌​​‍​‍​⁠‍‍​‍​‍​⁠​‍​⁠​​​⁠​‍​⁠‌‌​⁠​‌​⁠​​​⁠​‌​⁠‌‌​‍​‍​‍⁠​​‍​‍‌‍‍​​‍​‍​⁠‍‍​‍​‍‌​‍⁠‌‌‍​​⁠‍‌‌‍⁠‌‌‍⁠‌‌‌​‌​⁠‌⁠‌‍⁠‌‌‍‍​‌‍⁠‍‌​⁠⁠‌‍​⁠‌⁠‌‌‌​‍​‌​​‍‌​‌‍​‍​‍‌⁠⁠‌​

Kept it clean on a 12-acre infill by pushing a Flag1=Client view from MS Project to a SharePoint list, having ArcGIS Online join that to parcels, and showing only ‘council dates’ plus a 6‑week look‑ahead in an ArcGIS Dashboard. @henry_wri94’s CSV trick works too, but the live list saves me re-exports. Caveat: hide the critical path — one dependency note field is plenty for non-technical folks.

‌⁠‍⁠​‍​‍‌⁠‌​​‍​‍​⁠‍‍​‍​‍‌‍‌⁠‌‍​‌‌‍‍‍​⁠​⁠​‍​‍​‍⁠​​‍​‍‌‍‍⁠​‍​‍​⁠‍‍​‍​‍‌⁠​‍‌‍‌‌‌⁠​​‌‍⁠​‌⁠‍‌​‍​‍​‍⁠​​‍​‍‌‍‍‌‌‍‌​​‍​‍​⁠‍‍​⁠​‌​⁠‍‌​⁠‌‍​‍⁠​​‍​‍‌‍‌​​‍​‍​⁠‍‍​‍​‍​⁠​‍​⁠​​​⁠​‍​⁠‌‌​⁠​‌​⁠​​​⁠​‌​⁠‌⁠​‍​‍​‍⁠​​‍​‍‌‍‍​​‍​‍​⁠‍‍​‍​‍‌⁠‍​‌⁠‍​​‍⁠‌‌⁠‌⁠‌‍​‍‌‌‌⁠​⁠​⁠‌⁠‍‌​⁠‍​​⁠​​‌​⁠​‌​‍‍‌‍‍​‌⁠​‍‌⁠​​‌‍‌‌​‍​‍‌⁠⁠‌​

@elee > list saves me re-exports. Caveat: hide the critical path — one dependency note field is plenty Agree; my one tip is to anchor a stable PhaseID/WBS in both the milestone export and parcels, then use an Arcade “Next Gate” + “Days out” in the popup so the map shows a single date per parcel — if dates churn, refresh the join nightly to avoid flicker.

‌⁠‍⁠​‍​‍‌⁠‌​​‍​‍​⁠‍‍​‍​‍‌‍‌⁠‌‍​‌‌‍‍‍​⁠​⁠​‍​‍​‍⁠​​‍​‍‌‍‍⁠​‍​‍​⁠‍‍​‍​‍‌⁠​‍‌‍‌‌‌⁠​​‌‍⁠​‌⁠‍‌​‍​‍​‍⁠​​‍​‍‌‍‍‌‌‍‌​​‍​‍​⁠‍‍​⁠​‌​⁠‍‌​⁠‌‍​‍⁠​​‍​‍‌‍‌​​‍​‍​⁠‍‍​‍​‍​⁠​‍​⁠​​​⁠​‍​⁠‌‌​⁠​‌​⁠​​​⁠​‍​⁠​‌​‍​‍​‍⁠​​‍​‍‌‍‍​​‍​‍​⁠‍‍​‍​‍​⁠‌⁠‌​‍⁠‌‍⁠​‌‍‌⁠‌‍⁠‌‌‌‍​​⁠‌⁠‌⁠‌‍‌​‍​‌⁠​‍‌‌​⁠‌​‍‌​⁠‌‍​⁠​⁠‌‌‌‌‌‌‍​​‍​‍‌⁠⁠‌​