The client produces a Project Control Group (PCG) report for every active construction project, every month — one of the most time-intensive deliverables their PMs face. Until December 2025 a third-party automation partly addressed it; when that automation went offline, PMs reverted to 6–8 hours of manual work per report. We rebuilt the workflow around Anthropic Claude and Azure Functions, in the client's own tenant. PM input is now ~30 minutes per report. Across 45 PMs, the build reclaims roughly $30,000 of senior time every month — about $360,000 of senior PM capacity returned every year.
The PCG report is the monthly governance artefact every active construction project produces — read by principals, superintendents, internal leadership. The shape of the document is predictable. The content is anything but, and the previous automation that addressed it had gone offline.
The third-party Power Automate stitching that had partly handled PCG generation went offline in December 2025 and was never restored. PMs reverted to fully manual production. 6–8 hours of senior time per report, every month, across 45 active projects.
The earlier solution was Power Automate stitching templates together — mechanical, no contextual understanding of the project's trackers, registers, or contract correspondence. The client wanted a real AI build: one that reads project state and produces a draft worth reviewing, not rewriting.
The client's portfolio runs on two distinct construction contracts (AS 4902-2000 and AS 4300-1995) with different defined terms and roles. Any solution had to work across both. The earlier automation had not solved portability.
~45 PCGs prepared concurrently around end-of-month close. Anything that couldn't scale to that load reliably would be ignored within two cycles. The build had to be production-grade from day one.
The build reads the project's existing data — trackers, registers, prior PCGs, source correspondence — and assembles each section of the report into a finished Word document, ready for PM review. A short structured form captures the 20% of content that genuinely needs human judgement (commentary, risk ratings, forward-look) before generation runs.
Everything runs inside the client's own Microsoft 365 and Azure environment. Evisent owns the build; The client owns the data, the tenant, and the AI usage. Costs are visible on the client's own bills, and the AI vendor can be swapped — Claude was the right fit here, but Copilot or GPT could replace it on a future iteration without redesigning the build.
Claude in this build — chosen because it handled the 2-month rolling context and document-shape consistency better than alternatives at scope time. Copilot & GPT considered.
Runs in the client's own Azure subscription, on the client's billing. Built for the mid-month ~45-PCG concurrent load.
Project trackers, registers and prior reports read directly from the SharePoint project folders the PMs already use. No new place to maintain data.
Scoped permissions only — read-only on what it needs, write-only on the output folder, no broad access. The build can't delete or modify project data.
The build covers every section a PCG report contains. Most are generated end-to-end with PM review only; a smaller set require a few lines of PM input before generation runs. The 80/20 split was a deliberate design choice — automating away the judgement work would have produced a worse report and disengaged PMs.
Document Control, Programme Status, S-Curve Cashflow, RFI Status, Authority Updates, Variations, Defect Status, Contractor Cashflow, Inclement Weather, Provisional Sums, Liquidated Damages, Value Management, Notice of Dispute, SD Register. Reads tracker data, prior PCGs, source docs; outputs a PM-reviewable draft.
Executive Summary, Key Risks, Forward-Look, PM Commentary. AI pre-suggests using 2-month context window; PM confirms or edits before generation runs. Human-gateway approval is mandatory before save. The 20% of the report where judgement matters.
45 PMs × 6 hours saved per PCG = roughly 270 hours of senior PM time every month — about 3,240 hours a year. At standard PM cost rates, that's conservatively $30,000/month, or ~$360,000 a year, of senior capacity reclaimed — every cycle, forever. That capacity goes back into the work PMs are actually hired to do: site visits, contract negotiation, risk management, owner relationship work.
Once a second and third automation joined the program, the question changed from "is this build working?" to "is the whole AI program paying off, and can we prove it?" So we shipped the answer: a live AI Program Dashboard, sitting inside the client's own intranet, showing cost, hours saved, ROI, who's using what, and the residual-risk register — board-ready, refreshed every month, with no spreadsheets.
Every dollar of AI spend reconciled against the senior-PM hours it returned. The "is this paying for itself?" question, answered every month without anyone building a spreadsheet.
The build that nobody uses is the worst kind of build. Drill into any automation to see active users, run counts, last-used dates — and into any user to see their patterns across the program.
Eight named AI-program risks, residual ratings, named owners, last review dates, and the specific controls that justify the rating. Maintained continuously — not assembled the week before the board paper.
Build & Operate is the fixed-price version of how this engagement runs. Fixed-scope, fixed-price, written acceptance tests, optional managed operations. Built on Microsoft 365 and Azure, in your tenant — vendor-neutral on AI.