Strategic Technology Proposal
AI-FIRST
TRANSFORMATION PLAN
Paris Mechanical

A 12-Month Roadmap to Becoming Vancouver's First AI-First Mechanical Contractor

Attn: Duncan Rowe

Prepared by Graham MacDougall, President  |  March 2026

CONFIDENTIAL
Vision: Every decision at PPH is informed by AI. Every process has an intelligent layer. Not "we use some software" — the AI is the operating system.

Duncan — this plan lays out where I believe we need to go and how I intend to get us there. Everything below is my assessment of our current state, the opportunity in front of us, and the specific steps I'm proposing. I've built most of the foundation already. What I need from you is alignment on the direction and the restructuring required to execute it.


Where PPH Stands Today (March 2026)

Tool Status What It Does
Paris Command LIVE Financial dashboard, AI assistant, QBO sync, Teams daily digest, entity browse
PPH Safety (FLHA) LIVE Digital field-level hazard assessments, crew management
Quoting Tool CONCEPT Price book from EMCO, needs full rebuild
AP Automation CONCEPT Invoice processing, needs full rebuild
Capacity Mgmt CONCEPT Workforce planning, needs full rebuild
Knowify EXTERNAL Job costing, project mgmt (API broken, workaround sync)
QBO EXTERNAL Accounting (connected, auto sync every 4 hours)
Monday.com EXTERNAL Project tracking (API ready, not yet connected)
SharePoint EXTERNAL Document storage (53 docs cataloged + searchable)
Ceridian PowerPay REPLACING Payroll — NO API, switching to API-enabled provider

The Gap

PPH today operates like most construction companies: our data lives in 6+ disconnected systems. Decisions are made by gut and spreadsheets. The AI layer (Paris Command) can report on what happened — but it can't yet drive what happens next.

AI-first means: the AI doesn't just answer questions — it watches, alerts, recommends, and eventually acts. We stay in control, but the AI is the co-pilot for every operational decision.


Operational Restructuring — Executing the Plan

The Problem

I'm currently running PSG day-to-day while simultaneously building the technology platform for the entire Paris group. That's unsustainable — and Duncan, you've rightly flagged that PSG hasn't been getting my full attention. But the answer isn't for me to go back to 100% PSG operations. The answer is to structure things so PSG runs well and the technology gets built.

PSG is a 3-person team. It does not need a full-time Service Manager. It needs a competent day-to-day operator with a high-level manager checking in. My highest-value contribution to the Paris group is not dispatching service calls — it's building the AI infrastructure that will make every company in the group more efficient, more profitable, and harder to compete with.

The Transition: My Role from 100% → 25% PSG

Role Responsibility Change
Aisley
(CSR/Office Mgr)
Day-to-day PSG operations
• Customer service / dispatch
• Vendor communication
• Invoice/AP intake
• Scheduling coordination
• Routine staff issues
Takes over as primary operator. Already knows the business. 3-person team is manageable.
Graham
(Service Mgr → Strategic)
High-level PSG oversight
• Financial review (weekly)
• Major client relationships
• Escalations requiring owner authority
• Strategic decisions
Steps back to ~25% PSG time. 75% freed up for technology buildout.
Graham (75%)
(Technology)
Technology platform buildout
• Paris Command development
• AI tool deployment
• Data integrations
• Safety app refinement
The work that benefits ALL Paris companies — not just one.

I'm not getting distracted from PSG — I'm being deployed where the ROI is highest. Every tool I build — the financial dashboards, the AI assistant, the automated alerts, the daily digest — serves PSG, PPH, and the holding companies. If I stay in PSG operations full-time, none of this gets built, and the entire group stays on spreadsheets and manual processes.

The Multiplier Effect: Duncan & Andrew

As the AI tools come online, they reduce workload across the entire management team — not just mine:

Person Current Time Sink AI Tool That Eliminates It
Duncan Chasing financial reports, compiling KPIs manually, reconciling QBO data across companies Paris Command dashboard + daily Teams digest + auto-calculated KPIs (already partially live)
Andrew
(Ops Mgr)
Tracking job status across systems, checking on crew utilization, manual scheduling coordination Unified job view, smart alerts for at-risk jobs, capacity dashboard (Phases 2, 5, 6)
Aisley Paper-chasing certifications, manual invoice entry, calling for status updates Safety app cert module, AP automation, automated compliance tracking (Phases 1.5, 4)

The result: As AI tools reduce your and Andrew's operational overhead, there's natural capacity for periodic PSG support if needed — not as a permanent assignment, but as flexible coverage. The tools make the whole management team more efficient, which makes the whole group more resilient.

Admin Overhead — The Strategic Decision

Admin salaries and wages are Paris's #1 expense. The AI-first plan forces a decision:

Option A: Hold Steady — Grow Into the Overhead

Keep current admin staff. Deploy AI tools to make each person 2-3x more productive. Absorb the overhead as revenue grows.

✓ No disruption, no morale damage
✓ Capacity ready when you need it
✓ AI tools make the case — "we kept everyone AND got more done"
⚠ Carrying cost longer if growth is slow
⚠ Underperformers stay insulated
Option B: Cut Dead Weight — Then Reassess

Identify roles where output doesn't justify cost. Make changes now. Use AI tools to cover the gap.

✓ Immediate margin improvement
✓ Leaner, more accountable team
✓ Remaining staff see that performance matters
⚠ Risk of losing institutional knowledge
⚠ If AI tools aren't ready yet, you create a gap
⚠ Remaining staff may feel stretched

My recommendation: Default to Option A with a hard reassessment at Month 6. By then, enough AI tools will be live to objectively measure who's more productive with the tools and who isn't keeping up. The data makes the decision — not gut feel, not politics. If someone is genuinely dead weight, that's a performance management issue we should address regardless of AI tools. We shouldn't let the tech plan become the excuse for a management decision that should happen on its own merits.

The AI-first approach helps here directly: When the tools track who's using them, how quickly tasks get completed, and where bottlenecks sit — we stop debating whether someone is pulling their weight. The system shows it.


Why We Build — Not Buy

The Software Industry Is Collapsing

Construction SaaS companies like Procore charge $100K+/year because they employ thousands of engineers to build and maintain features. AI has fundamentally changed that equation:

You're right that paying $100K/year for Procore today would be like signing a 3-year lease on a Blockbuster franchise in 2008. The thesis is correct — software costs are going to near-zero.

But the conclusion isn't "wait for someone else to build the AI-first CRM." The conclusion is: I'm already building it.

Build vs. Buy vs. Wait

Buy Procore Wait for "AI-First CRM" Build in Paris Command RECOMMENDED
Annual Cost $100K+/yr $12K/yr Knowify while waiting
Timeline 6-12 months to adopt 2-3 years? Maybe never
Data Ownership Procore owns your data New vendor owns your data
AI Integration Bolted on to legacy Unknown
Customization What they give you What they give you
Competitive Advantage Same as every other Procore user Same as every other buyer
Risk Overpaying for 3 years Knowify data stays broken, no progress

The AI-first CRM we've been talking about — I'm the one building it. Paris Command already has 2,072 customers, 5,019 invoices, 726 jobs, an AI assistant, and a daily Teams digest. That's 60-70% of what Knowify does, with better AI than any tool on the market.

The remaining pieces (job entry, cost tracking, change orders, progress billing) are 3-4 focused build phases — not a moonshot.

The Knowify Transition

We won't rip out Knowify overnight. We absorb it gradually:

Now
Knowify = primary for jobs. Paris Command = read only
Month 3
Knowify still primary, Paris Command shows all data + AI analysis
Month 6
PMs start creating jobs in Paris Command. Side-by-side.
Month 9
PMs do 80% of work in Paris Command. Knowify = backup.
Month 12
Knowify cancelled. Historical data imported. $12K/yr saved.

The Payroll Switch

Ceridian PowerPay has no API — it's a dead end for an AI-first operation. The plan:

  1. Request full historical data dump from Ceridian (employee records, pay history, deductions, T4s) — they're required to provide this
  2. Switch to a Canadian payroll provider with an API (Humi or Rise People — both handle CRA, ROEs, T4s)
  3. Build the importer — one-time historical data load into Paris Command
  4. Auto-sync going forward — payroll data flows into Paris Command, AI can analyze labor costs per job, overtime trends, utilization

Cost: ~$5-10/employee/month (roughly what PowerPay costs anyway)
Gain: Payroll data becomes part of the AI layer — labor cost analysis, overtime prediction, capacity planning all become possible


The 5-Layer AI-First Model

LAYER 5: AUTONOMOUS AI Automated purchasing, scheduling, invoice processing, follow-ups FUTURE LAYER 4: PREDICTIVE AI Cash flow forecasting, job risk scoring, demand prediction FUTURE LAYER 3: PROACTIVE AI Anomaly detection, smart alerts, recommendations, daily digest STARTING LAYER 2: CONVERSATIONAL AI Natural language queries, ask anything about your business data ACTIVE LAYER 1: DATA FOUNDATION Unified database, auto-sync from all sources, single source of truth ACTIVE

Where PPH is now: Layer 1 is solid. Layer 2 is live. Layer 3 just started (Teams digest). Layers 4-5 are the destination.


KPI Intelligence — Solving the Measurement Problem

Why KPIs Have Never Worked at Paris

We've been trying for years to get the controller and management team to pick a few KPIs, track them, and improve on them. It's never stuck. I don't think this is a people problem — it's a systems problem:

Reason It Failed Root Cause
Data collection is manual Someone has to pull numbers from QBO, cross-reference Knowify, check spreadsheets, compile a report. That's hours of work per week. Nobody wants to do it. Nobody does.
Nobody trusts the numbers Revenue from QBO doesn't match job costs from Knowify. People argue about which system is right instead of acting on the KPI. No single source of truth = no trust.
KPIs aren't role-relevant A foreman doesn't care about DSO. The controller doesn't care about crew utilization. When everyone gets the same dashboard, nobody uses it because 80% isn't their job.
No accountability loop Someone picks a KPI in January, checks it in February, forgets by March. No system follows up. No system says "you're off target — here's why."

How Paris Command Fixes All Four Problems

Problem 1 → Auto-Calculated KPIs. The data already flows in from QBO (both companies synced), Knowify (248 customers, 726 jobs), and soon HCP and Monday.com. KPIs compute automatically from the unified database — nobody pulls anything. The number is just there, updated every sync cycle. Zero manual effort.

Problem 2 → Single Source of Truth + Data Confidence Scoring. Every KPI traces back to the unified data layer. Revenue comes from QBO. Job costs come from Knowify/HCP. There's no "which spreadsheet is right?" because there's only one database.

Each KPI displays a Data Confidence Indicator:

GREEN — Source data is fresh (synced within expected window) and reconciled across systems. Trust this number.
YELLOW — Data is stale (sync overdue) or there's a minor discrepancy between sources. Number is likely close but verify before making major decisions.
RED — Source data is missing, sync has failed, or systems don't reconcile. Don't act on this number — fix the source first.

Nobody can dismiss a KPI by saying "those numbers are wrong" without the system either confirming or denying it. The confidence indicator kills the excuse.

Problem 3 → Role-Based KPI Menus. Each role gets a curated menu of KPIs relevant to their function. You pick 3-5 from your menu. You see what matters to you — nothing else.

Duncan (Owner)
  • Revenue (MTD / FYTD / vs target)
  • Gross margin % (by company, trending)
  • Overhead ratio (admin cost / revenue)
  • Cash position (current + 30-day forecast)
  • AR aging (total outstanding, >60 days)
  • Backlog value (committed work not started)
Project Manager
  • Job gross margin % (per job + portfolio)
  • Budget burn rate (% budget used vs % complete)
  • Change order volume (count + $ impact)
  • Schedule variance (days ahead/behind)
  • Unbilled revenue (work done, not invoiced)
Controller
  • Revenue by company / division
  • DSO (days sales outstanding)
  • AP aging (what's due, what's overdue)
  • Cash flow forecast (30/60/90 day)
  • WIP (work in progress) variance
  • Monthly close timeline (days to close)
Andrew (Ops Manager)
  • Active jobs by status
  • Crew utilization % (billable vs available)
  • Jobs at risk (budget/schedule flags)
  • Open estimates (count + value + age)
  • Subcontractor spend (% of job cost)
Aisley (CSR/Office Mgr)
  • Calls/jobs dispatched (daily/weekly)
  • Average response time
  • Customer satisfaction (if tracked)
  • Open service requests
  • Invoice processing time
Foreman / Supervisor
  • Crew utilization %
  • Job hours vs estimated hours
  • Safety compliance (FLHA completion rate)
  • Rework / callback rate
  • Certification status (team valid/expiring)

Each person selects their KPIs once. They see them every time they open Paris Command. They see them in their morning Teams digest. The KPIs are theirs — relevant, personal, persistent.

Problem 4 → AI Accountability Loop

The AI doesn't forget. It doesn't get busy. It doesn't avoid the awkward conversation.

1
SET
Person selects KPIs + targets from their role menu (e.g., "Gross margin target: 28%")
2
TRACK
Paris Command auto-calculates from live data. No manual reporting. No spreadsheets.
3
ALERT
Daily Teams digest includes KPI movement: "Your gross margin target is 28% — this month you're at 24.1%, down from 25.3% last month. The three jobs dragging it down are #4521, #4588, #4612."
4
EXPLAIN
AI doesn't just flag the number — it tells you WHY. "Job #4521 has $14K in unbudgeted material costs from a scope change that wasn't captured as a change order."
5
TREND
Weekly/monthly trend view shows trajectory. "DSO has improved from 47 → 38 days over 3 months" or "Overhead ratio has been climbing — up 2.1% since October."
6
REVIEW
Monthly KPI review meeting uses the same dashboard everyone's been watching all month. No surprises. No "let me pull the numbers first." The numbers are already there, already trusted, already explained.

Why This Is Different From Every Other KPI Attempt

Every previous attempt required someone to do the work of tracking KPIs. This system does the work automatically. The only human action required is:

  1. Pick your KPIs (one-time, 5 minutes)
  2. Set your targets (one-time, 10 minutes with your manager)
  3. Read your morning digest (daily, 2 minutes)
  4. Act on what the AI flags (this is the actual job)

The controller doesn't compile reports. The PMs don't fill out spreadsheets. You don't chase people for numbers. The system collects, calculates, validates, and delivers. People just have to look at it and act.

And if they don't act? The AI keeps flagging it. Every morning. "This KPI is still off target. Here's the trend. Here's what's causing it." The system doesn't give up, doesn't get distracted, and doesn't accept "I'll get to it next week" as an answer.


Stress-Testing This Plan — The Hard Questions

Before presenting this plan, I ran it through an adversarial review — four competing perspectives arguing for and against the AI-first approach given our constraints. I want to be transparent about the tensions and how I've resolved them.

The Three Irreconcilable Tensions

1. Speed vs. Depth. I can't revamp all systems and processes in 6 months as a solo builder. Even the most aggressive position in the review had to concede that. But we're not on a hard clock — we're willing to take 3-5 years to reach maximum value. That means I can build this right instead of building it fast. The phases are sequenced by dependency and impact, not by an arbitrary deadline.

2. EBITDA vs. Multiple. Every dollar of EBITDA matters at exit — a buyer pays 4-6x on earnings. But the multiple itself is the bigger lever. A traditional mechanical contractor at 5x EBITDA caps out at $15M on $3M earnings. A contractor with proprietary AI ops tools and demonstrably better margins becomes a 6-7x company. On $3-4M EBITDA, that's $3-8M of incremental value. The resolution: build tools that DIRECTLY improve financial metrics. When we're ready to sell — whether that's in 2 years or 5 — the data proves itself.

3. Operational Independence. The tools aren't the risk — any developer can pick them up. The real bottleneck is operational. Right now, Duncan, you ARE the operations. Estimation runs through you. PM oversight runs through you. Major job decisions run through you. If we ever want the option to sell, a buyer doing diligence won't ask "what happens when Graham stops coding" — they'll ask "what happens when Duncan stops working 55-hour weeks?" If the answer is "the business slows down," the valuation takes a hit. The AI tools are part of the solution here: they systematize the knowledge that currently lives in your head, they automate the oversight you do manually, and they create a management layer that doesn't depend on any single person — including you. That's not about replacing you. It's about making the business resilient enough that it doesn't need any one person to function.

What the Review Changed in My Approach

The original plan was comprehensive — 8 phases, full transformation. The stress test narrowed my focus:

Highest impact first (Phases 1-4)

Data foundation, KPI automation, AI-powered quoting, and AP automation. These directly improve margins and reduce overhead — the financial impact is measurable within months of deployment.

Operational transformation (Phases 5-8)

Job management replacement, workforce intelligence, predictive analytics, autonomous operations. These compound on the foundation and represent the full vision. We have time to build them right.

Parallel workstream (not AI, but high-value)

PPP membership growth. Recurring service revenue at $2K average annual value is extremely valuable — both for cash flow now and for valuation whenever we decide to sell. 1,000 memberships = $2M of predictable annual revenue. This runs alongside the tech buildout, not in conflict with it.

The Guardrail

Nothing in this plan risks PSG profitability. If the choice is between shipping an AI tool and hitting our financial targets, the financial targets win every time. The AI work should serve profitability, not compete with it. Where possible, the first tools I build are the ones that directly reduce overhead or improve margins — automated dispatch, job costing visibility, compliance tracking.

Owner Independence — Building for Resilience

Even if we never sell, every tool I build needs to work without me in the room. I could get hit by a bus, go on vacation, or shift focus. The tools can't break when I'm not around. My approach:

If we do decide to sell, the story writes itself: "You're acquiring a mechanical contracting platform with AI-driven ops that produce X% better margins than industry average. The tech is production-proven, runs on zero-maintenance infrastructure, and is operated by the management team — not dependent on the founder." But more importantly, this resilience makes the business stronger whether we sell or not.


The Transition Plan

1
Complete the Data Foundation
Now → Month 2
Goal: Every piece of operational data flows into Paris Command automatically.
WhatWhyEffort
Connect Monday.com (PPH)Project tracking data into the unified layer1 week
Connect HCP (PSG)Service dispatch, job data (waiting on MAX plan API)2 weeks (blocked)
Automate Knowify syncCurrently manual script — needs scheduled worker1 week
Switch payroll providerReplace Ceridian PowerPay with API-enabled Canadian payroll (Humi or Rise)2 weeks (incl. data migration)
Connect ConfluenceSOPs, procedures searchable by AI assistant3 days

What changes for PPH: You open Paris Command and see everything — not just financials. Project status from Monday, job costing from Knowify, payroll data from the new provider, documents from SharePoint and Confluence. One place.

Milestone
"I haven't opened Knowify or Monday.com directly in 2 weeks."
2
Smart Alerts & Anomaly Detection
Month 2–3
Goal: The AI watches your data 24/7 and flags things you'd miss.
WhatWhyDelivery
Job burn rate monitoringFlag jobs burning budget faster than historical normTeams alert when detected
Customer payment pattern change detection"Customer X usually pays in 15 days — this invoice is at 40 days, unusual"Teams alert + dashboard badge
Revenue anomaly alertsWeek-over-week or month-over-month revenue drops flagged automaticallyMorning digest enhancement
Margin drift warnings"PPH gross margin dropped from 28% to 22% over last 3 months — here's why"Weekly digest card
Stalled estimate agingEstimates sitting >30 days with no activityDaily digest + AI can list

What changes for PPH: Instead of discovering a problem at month-end, the AI catches it in real-time. Your morning Teams message says "Job #4521 is 35% through timeline but 60% through budget — here are the cost categories driving it."

Milestone
"The AI caught something before I would have noticed it myself."
3
AI-Powered Quoting
Month 3–5
Goal: Rebuild the quoting tool with AI at the core — not a price lookup, but an intelligent estimating assistant.
WhatWhyImpact
Rebuild price book engineEMCO catalog with live pricing, supplier cost tracking, UPC matching, multi-supplierAccurate material costs
AI material takeoff assist"I need to quote a 4-story residential boiler room" → AI suggests material list based on similar past jobsFaster estimates
Historical job comparison"Show me the last 3 jobs similar to this scope and what they actually cost"Better margins
Markup optimizationAI recommends markup % based on job type, customer history, current market, win/loss dataHigher win rate
Quote generationProfessional PDF quotes from the tool, not ExcelProfessional image

What changes for PPH: Estimating goes from "open Excel, call EMCO, check old quotes" to "describe the job to the AI, review its material list, adjust, and send." A quote that took 4 hours takes 45 minutes.

Milestone
"Our estimator used the AI to build a quote and it was 90%+ accurate on materials."
4
Intelligent AP & Invoice Processing
Month 4–6
Goal: Invoices come in → AI reads them → matches to PO/job → flags exceptions → routes for approval.
WhatWhyImpact
Invoice OCR + extractionScan/photo/email → structured data (vendor, amount, line items, PO number)No manual data entry
Auto-match to jobsAI matches invoice line items to the right job + cost codeAccurate job costing
Exception flagging"This invoice is 22% higher than the PO" or "vendor not in approved list"Catch errors before pay
Approval workflowsRoute to right person based on amount, vendor, jobFaster payment
QBO syncApproved invoices auto-push to QuickBooksNo double entry

What changes for PPH: The bookkeeper stops manually entering invoices. Suppliers email invoices → AI processes them → you approve in the app → it posts to QBO. The AI flags anything unusual before money goes out the door.

Milestone
"We processed 50 invoices this month and only had to manually enter 3."
5
Job Management — Replace Knowify
Month 5–8
Goal: Paris Command becomes the primary job management tool. Knowify gets phased out.

This is not "build a CRM from scratch." Paris Command already has the data layer — 726 jobs, 248 customers, 200 invoices from Knowify are already in the database. This phase adds the write side: creating and managing jobs, not just viewing them.

WhatWhyImpact
Job creation + editingCreate jobs, set budgets, assign PMs, track status directly in Paris CommandPMs work in Paris Command not Knowify
Cost code trackingLabor / material / sub breakdown per job — linked to invoices and payroll dataReal-time job costing without manual entry
Change order managementTrack scope changes, cost impacts, approval chain — AI flags margin impactNo more spreadsheet change orders
Progress billing / drawsGenerate draw requests from % complete, auto-populate from job cost dataFaster billing cycles
PM daily workflowMorning view: "Your jobs today" — what needs attention, what's on track, what's at risk. AI-prioritized, not a list.Replaces Knowify as the daily driver
Historical Knowify importFull data migration — all jobs, costs, customers preserved in Paris CommandClean cutover

What changes for PPH: Our PMs stop logging into Knowify. They open Paris Command, see their jobs prioritized by the AI ("Job X needs a change order, Job Y's material delivery is late, Job Z is on track"), update status, and move on. The AI handles the analysis; humans handle the decisions.

Why this works: I'm not competing with Procore's 1,500-person feature set. I'm building exactly what our 85 employees actually use — job entry, cost tracking, change orders, billing. That's a focused scope, not a moonshot. And every feature is AI-native: the PM doesn't look at a spreadsheet of cost codes, they ask "Is this job on budget?" and get a real answer.

Knowify cost saved: $12,000/year — permanently.

Milestone
"Our PMs haven't opened Knowify in a month. We cancelled the subscription."
6
Workforce & Capacity Intelligence
Month 7–9
Goal: AI-driven workforce planning — know who's available, who's needed, and where the gaps are.
WhatWhyImpact
Crew availability trackerWho's on what job, who's available next weekNo more whiteboard
Capacity forecasting"Based on your pipeline, you need 2 more plumbers by June or you'll miss dates"Hire ahead of demand
Utilization dashboardsWhich crews are at 90%? Which at 50%? Where's the waste?Balance workload
Skill matrixTrack certs, tickets, training — AI matches crew to job requirementsRight person on right job
Overtime prediction"At current pace, overtime costs will hit $X this month"Control costs
Labor cost per jobPayroll data (from new provider) linked to jobs — actual labor cost vs estimated, per crewTrue job profitability

What changes for PPH: We stop managing capacity on a whiteboard or in our heads. You ask the AI "Can we take on a 6-week mechanical job starting May 1?" and get a real answer based on current commitments and crew availability.

Milestone
"I used the capacity tool to decide whether to bid on a job, and it was right."
7
Predictive Analytics
Month 8–10
Goal: The AI stops looking backward and starts looking forward.
WhatWhyImpact
Cash flow forecasting"Based on AR aging, payment patterns, and upcoming AP, your cash in 30/60/90 days will be approximately $X"Plan ahead
Job risk scoringEvery active job gets a risk score (budget, timeline, complexity, crew experience)Intervene early
Seasonal demand modeling"Historically, your quote volume spikes 40% in March — you're understaffed"Staff up early
Customer lifetime value predictionIdentify your best customers, predict who's at risk of leaving, recommend actionsFocus retention
Win/loss analysis"You win 60% of residential but only 25% of commercial over $500K — here's why"Bid smarter

What changes for PPH: The Monday morning meeting isn't "what happened last week" — it's "here's what the AI predicts will happen this month and what we should do about it."

Milestone
"The AI's 30-day cash forecast was within 5% of actual."
8
Autonomous Operations
Month 10–12
Goal: The AI handles routine decisions so humans focus on high-value work.
WhatWhyImpact
Auto-reorder materialsWhen job material list is approved, AI generates POs to preferred suppliersNo stockouts, no delays
Automated follow-upsAI sends payment reminders, estimate follow-ups, customer check-ins on scheduleFaster collections, more wins
Smart scheduling suggestionsAI proposes crew assignments based on skills, location, availability, job requirementsOptimal utilization
Document generationAI drafts change orders, progress reports, closeout packages from job dataLess admin time
Compliance monitoringTrack cert expirations, safety training due dates, insurance renewals — auto-notify before they lapseZero compliance lapses

What changes for PPH: The office manager's job shifts from data entry and chasing paperwork to exception handling. The AI runs the routine; humans handle the judgment calls.

Milestone
"A new job was set up, materials were ordered, crew was assigned, and the first progress report was generated — and I only had to approve 3 decisions."

The Transformation Timeline

IMMEDIATE IMPACT FULL TRANSFORMATION 1 Data Foundation M 1-2 2 Smart Alerts M 2-3 3 AI Quoting M 3-5 4 AP Automation M 4-6 5 Replace Knowify M 5-8 6 Workforce Intel M 7-9 7 Predictive Analytics M 8-10 8 Auto Ops M 10-12 DATA CONVERSE PROACTIVE PREDICTIVE AUTONOMOUS Active Not yet started SUBSCRIPTIONS ELIMINATED: M2: Ceridian PowerPay   M8: Knowify (-$12K/yr)   M12: Monday.com (optional)

What Makes This "Bleeding Edge"

Most Construction Companies in 2026

  • Use software as digital filing cabinets (store data, generate reports)
  • Make decisions based on monthly financials (30+ days stale)
  • Manage crews via whiteboard and group texts
  • Process invoices by hand
  • Estimate jobs from experience and spreadsheets
  • Pay $50K-150K/year for tools that don't talk to each other

An AI-First PPH

  • Uses software as a decision engine (AI recommends, human approves)
  • Makes decisions based on real-time data (4-hour refresh, instant AI analysis)
  • Manages crews via AI-optimized scheduling (skills, availability, location)
  • Processes invoices via AI extraction + auto-matching (human approves exceptions)
  • Estimates jobs from AI-assisted takeoffs + historical data (human refines)
  • Pays ~$600/year for infrastructure that PPH owns outright

The competitive advantage isn't the software itself — it's the speed of decision-making. A company that catches a margin problem on day 3 instead of day 30 saves real money. A company that quotes in 45 minutes instead of 4 hours wins more work. A company that never misses a cert renewal or insurance lapse never gets shut down on a job site.


The Software Cost Revolution

THE OLD MODEL What most contractors still do $156,000/year Procore + Sage + Payroll + Safety + CRM + Scheduling Data ownership: NONE THE AI-FIRST MODEL What PPH is building $8,000-10,000/year Cloudflare + AI APIs + Payroll (API-enabled) Data ownership: 100% YOURS 94% COST REDUCTION

The question isn't "can we afford to build this?"
The question is "can we afford not to?"

Every year PPH waits is a year competitors could adopt this approach. The ones who move first build a compounding advantage — more data, smarter AI, faster decisions, better margins. The ones who wait are buying yesterday's software at yesterday's prices.


Investment Required

Category Cost Notes
Infrastructure ~$50/month Cloudflare Workers Pro, D1, R2 storage
AI API costs ~$100-300/month Claude API for assistant, processing, analysis (scales with usage)
New payroll provider ~$500/month Humi or Rise People (replaces PowerPay — similar cost, adds API)
Development time Graham's time Built with Claude Code — no external dev team
External services $0 new QBO, Monday, SharePoint already paid for
TOTAL NEW COST ~$650-850/month Offset by $1,000/month Knowify savings once Phase 5 completes

ROI Examples


Build Priority — Impact-Driven Sequencing

Not every phase carries equal weight. Here's how I've prioritized — by financial impact and dependency, not by an exit clock:

Immediate Impact (Phases 1-4)

Builds the foundation, improves margins now

Full Transformation (Phases 5-8)

Compounds on the foundation

Every phase makes the business more profitable, more efficient, and more valuable. We build them all. The sequencing is about dependencies and impact — Phase 5 needs Phase 1's data layer, Phase 7 needs Phase 2's alerting framework, and so on.

Parallel Workstream — PPP Membership Growth

This doesn't conflict with the tech buildout and it's one of the highest-value things we can do. Recurring service revenue at $2K average annual value is extremely valuable for cash flow and valuation. Growing the PPP membership base is a revenue quality play that strengthens the business independent of everything else in this plan.


Immediate Decision Checklist

  1. Confirm PSG profitability path is intact before committing building time — the financial targets are non-negotiable
  2. Align on the PSG restructuring — Aisley takes day-to-day, I step back to 25%, so I can execute the buildout
  3. Agree on the admin overhead approach — hold steady and reassess at Month 6 with data, or address performance issues now
  4. Start documenting KPI baselines today — we need "before" numbers for every metric we plan to improve, so we can measure the real impact
  5. Set the hard rule: every AI tool must map to a financial metric — this keeps me focused on what improves the business, not what's technically interesting

The Bottom Line

Duncan, this isn't about buying software. It's about building a proprietary competitive advantage that no other mechanical contractor in Vancouver has. Every tool is custom-built for how we actually operate, connected to our actual data, and gets smarter over time.

I've stress-tested this plan hard. The adversarial review forced me to narrow the scope, prove the financial case, and address the owner-dependence question. What's left is a focused, realistic plan that does three things:

  1. Improves EBITDA now — through better visibility, fewer missed problems, and reduced operational overhead
  2. Builds compounding value over time — proprietary AI ops tools with measurable financial impact that make the business stronger every month
  3. Maximizes our options — whether we sell in 2 years, 5 years, or never, a business with AI-driven operations, better margins, and proprietary tooling is worth more and runs better

Step 1 is already done. The data foundation is live, the AI assistant works, and the daily digest lands in Teams every morning. Everything from here builds on what's already proven.

I need your support on two things: the PSG restructuring to free up my time, and alignment that this is the right use of that time. The alternative is I stay in PSG operations full-time, and everything in this plan stays on paper. I don't believe that's the best path for us.

Let's discuss.

— Graham