HVAC spatial intelligence for architects, from day one
Where the research and the product stand today: a pipeline that turns building models into graphs, early machine-learning results on eight real buildings, and a working prototype app.
Hypothesis & Approach
Buildings are several systems developed in parallel — architecture, structure, HVAC, electrical, plumbing — each with its own priorities and each constraining the others. Early feedback is often sparse and coarse; actual cross-system fit emerges through rounds of model coordination, typically beginning in DD or, for complex projects, during SD. Yet every coordinated building is a worked example of that resolution.
Hypothesis. System coordination is learnable. Representing buildings as a joint-system graph — spaces and systems as coupled layers with serving, hosting, and constraining relationships explicit — should allow graph ML to predict the spatial consequences one system imposes on another in a single forward pass.
Graphs fit because these relationships are relational, scale-independent, and maskable into multiple prediction tasks — especially useful in retrofit, where legacy MEP can remain fixed while the model infers how a new program fits around it.
Scope today. HVAC ↔ architecture at massing stage, using only information available from massing inputs.
The pipeline: building model → graph
stable, in useA four-stage pipeline converts each coordinated building model into one validated graph. It supports both Revit models and IFC files, then normalizes both into the same downstream representation. All categorical attributes use controlled vocabularies, so graphs from different buildings are directly comparable regardless of authoring tool or language.
What is automatic, what is not
- Automatic (minutes): extract and construct the graph from BIM; normalize source data into controlled ML features; replicate unmodeled typical-floors; validate the graph against the schema; and generate visual review pages.
- Human (hours): per-building configuration (e.g., HVAC strategy, project-specific quirks), occasional source-model corrections, and visual QA. Ambiguous domain questions are resolved explicitly rather than inferred by code.
The fleet today
| # | Source | Use | Storeys | Rooms | Equipment | HVAC strategy |
|---|---|---|---|---|---|---|
| 1 | Revit | office | 7 | 237 | 164 | Central air, boiler heating, DX cooling |
| 2 | IFC | healthcare | 3 | 259 | 126 | Central air with chilled-water cooling |
| 3 | Revit | mixed use | 7 | 71 | 92 / 78 | Two design options: decentralized fan-coil vs. all-air |
| 4 | Revit | mixed use | 7 | 74 | 37 | Decentralized units |
| 5 | Revit | office | 8 | 65 | 163 | Dedicated outdoor air + VRF heat pumps |
| 6 | IFC | office | 3 | 50 | 37 | Central air with hydronic zones (partial model) |
| 7 | IFC | residential | 3 | 54 | 47 | Mechanical ventilation, electric radiant heating |
| 8 | IFC | residential | 2 | 20 | 26 | Natural ventilation, hydronic radiant heating |
All are publicly available models — chosen to prove the pipeline across authoring tools, typologies and HVAC strategies. The project viewer is shown in live demos upon request.
Machine learning: does it generalize?
first cross-building resultsThe question that matters is: "Can it predict a building it has never seen?" Every result below therefore uses leave-one-building-out evaluation: train on seven buildings, test on the eighth, then rotate. The model only sees inputs available at massing stage: room geometry, use, level, adjacency, and other early-design features.
Two tasks
| Task 1 — per-room attributes | Task 2 — HVAC space allocation | |
|---|---|---|
| Question | For each room: how much vertical depth does HVAC distribution claim? | How much plant and shaft space does the building need, and where? |
| Answer form | Ordered design bins | Today: allocation per level; size and placement are the next target |
| Samples | several hundred labelled rooms | 8 buildings |
Headline results (unseen buildings, exact-class accuracy)
Two findings that shape the plan
Relational structure carries the signal. Ablations show that what a room is next to, and how, contributes substantially to accuracy — removing the relational information costs more than removing any single room feature. The graph representation is contributing information that tabular room features miss.
Accuracy scales with data and has not plateaued. Every building added to training raises accuracy on unseen buildings, with no sign of levelling off at n=7 (chart below) — the constraint is data, not model capacity. Task 2 is even more data-constrained at n=8 — but it can learn from a much larger pool of architecture-only models, since plant and shaft allocation is visible without the MEP model.
The app: massing in, reservations out
prototype, P1 in progressThe product wraps the same graph contract in a workflow an architect can use in minutes. Development started 2026-08-18; the first milestone is a scripted end-to-end demo on one clean building, followed by a hardened version for architect trials.
- Ingest → graph → viewer built — a massing file becomes the same dual-graph JSON the pipeline writes, with the HVAC layer initially empty, and is rendered in a three.js viewer with adjacency overlays.
- Space tagging built — one structured LLM call proposes a standardized space use with confidence; the user confirms or corrects it.
- Guided configuration built — location → proposed climate zone for confirmation; the architect's design priorities (cost, space, comfort, adaptability…) map deterministically onto a shortlist of recommended HVAC strategies plus a contrasting trade-off pick.
- Conversational agent + tool surface built — one agent calls deterministic tools exposed through MCP, so the same capabilities can drive the web app today and a Rhino-side client later.
- Engine v1 live — a rule-based estimator grounded in our curated HVAC knowledge pack. Learned models replace rules task by task only when they outperform them on unseen buildings.
- Reservation volumes in 3-D, score panel next.
Design rules: the graph JSON is the contract between components; no estimate ships without provenance and an interval; user decisions are captured as telemetry to refine future suggestions and the product experience.
The moonshot: multi-system intelligence under competing priorities
- Priority-conditioned inference. Feed design priorities — space, cost, efficiency, carbon, comfort, adaptability — directly into the model and get different plausible system responses in one fast forward pass, without agent loops or solvers.
- Expand the coupled systems. HVAC ↔ architecture is the first pair. Structure, electrical, plumbing, and other systems can be incorporated so their mutual constraints are learned together.
- Learn from design evolution. With versioned models, explore whether coordination history can predict what is likely to move, resize, or reconfigure next.
