Problem
A construction-tech company needed to reconcile 2D site sketches with actual 3D project state, then identify which of ~7,000 reported features actually drove schedule variance. A reporting tool was producing dashboards nobody could act on — "the schedule is slipping" without isolating the why.
Approach
Two-part build. Vision pipeline: YOLOv8 for object detection on site imagery, homography matrices to normalise 2D site sketches into 3D coordinate space so plan-vs-actual becomes computable rather than hand-eyeballed. Causal layer: Causal Forest applied to resource-allocation decisions to estimate counterfactual schedule impact. Out of ~7,000 tracked features, 200 isolated as schedule-critical.
Stack
PyTorch · OpenCV · YOLOv8 · scikit-learn / EconML for causal inference · Python service layer
Outcome
The reporting tool transformed from passive dashboards into a "What-If" simulation engine project managers could actually steer with. The 200 / 7,000 feature reduction was the unlock — the team finally knew which 3% of inputs to monitor in real time vs. which 97% to ignore.