We built an AI-powered construction analytics agent to tackle a problem we kept coming back to: in HVAC projects, margins don’t disappear all at once and they slowly erode through small issues like labor overruns, delayed billing, and untracked scope changes. Most tools show the data, but don’t actually explain what’s going wrong or what to do about it. That pushed us to build something that could reason through messy, real-world data and turn it into clear decisions. We designed the system around a simple idea—signals → story → action. We ingest raw CSVs, clean and standardize them just enough to make them usable, then aggregate everything into a unified portfolio view using DuckDB so we can handle large datasets (including 1M+ labor log rows). On top of that, we built an agent layer with tools that can analyze margin erosion, drill into individual projects, identify root causes across labor/material/scope, and generate concrete recovery actions. Along the way, we learned that aggregation is everything, and that LLMs are most useful when interpreting structured signals, not cleaning data. The biggest challenges were dealing with inconsistent data formats, working within model context limits, and, most importantly, turning insights into recommendations that are actually useful in practice and not just technically correct.

Built With

Share this project:

Updates