Selected work · AI for Engineering
From engineering reality to deployable software.
Systems built where engineering knowledge, software architecture, applied AI and technical delivery converge. This page describes the capabilities, disciplines and review practices behind that work without exposing confidential project identities or implementation details.
The through-line
The recurring problem is consistent across engineering workflows: fragmented requirements, models and documents must become a structured, traceable path from investigation to reviewable determination.
Practice area · AI for Engineering
Engineering software for complex engineering workflows.
Requirements arrive as prose. Models, drawings and schedules hold the evidence that should answer them, but the records can disagree. I structure the obligation, connect the relevant engineering data, use AI-assisted investigation where it helps, and keep validation deterministic, traceable and reviewable.

| Engineering software | Model and document integration · review workspace · reporting |
|---|---|
| Domains | AEC · BIM/VDC · Electrical · Critical Infrastructure |
| Data sources | Models · drawings · schedules · requirements · field observations |
| AI role | Search · interpretation · candidate findings · explanation |
| Validation | Deterministic rules · evidence traceability · human review |
| Technical delivery | Host integration · version compatibility · testing · release |
| Responsibility | Workflow discovery · domain modeling · implementation · deployment |
Capability-level summary. Specific project identities, implementation details and measured outcomes are omitted for confidentiality.
01Problem
Engineering evidence is fragmented. Responsibility for the decision is not.
Artifacts
- Requirements in prose
- Models · drawings · schedules
- Cross-discipline source set
A requirement is one sentence. Answering it means reconciling three records that disagree.
An owner requirement arrives as prose — a paragraph in a design standard, a line in a specification. Satisfying it is not a reading task. It means resolving which elements the sentence actually applies to, then finding every model element, drawing sheet and schedule row that could settle the question, across a project with thousands of elements and years of edits.
The hard part is that the same fact has more than one home. A fixture's mounting height exists in the model as a parameter, on a sheet as a dimension and in a schedule as a value. Those three can disagree, and often do. A system that only retrieves faster produces three answers. A reviewer needs one, plus the reason the other two lost.



The difficulty is not limited to the number of documents. Each discipline names its objects differently, keeps evidence in a different place and hands its decision to a different reviewer. Domain modeling provides the shared vocabulary that lets those sources be connected without flattening their meaning.
The system cannot merely surface fragments faster. It has to reconcile disagreeing sources into a single determination a named person can inspect, challenge and sign.
02Architecture
One boundary decides the whole design: what AI may do, and where it stops.
Artifacts
- Authority boundary
- Evidence and evaluation-run schema
- Fig. 01 · system architecture
Investigation is broad and probabilistic. Determination is narrow and governed.
Two things had to be true at once. The system needed to search a large, messy project the way a good engineer does — following a requirement into a room, into a fixture, into a schedule row, into the sheet that shows it. And it needed to produce results a firm could stand behind, which a probabilistic system cannot do on its own.
So the architecture splits on authority rather than on technology. Below the boundary, AI investigates: it searches, interprets language, explains a finding and proposes remediation. Above it, deterministic engines own every official automated result — the population, the predicate, the coverage, the contradictions and the determination — and each evaluation is recorded as a run rather than overwritten in place.
01 Sources
- Revit modelelements · parameters · levels · systems
- Drawing PDFssheets · details · title blocks
- Schedulestabular values per element
- Owner requirementsprose, per division
02 Extraction & store
- Discipline-scoped extractionAll · Electrical · Mechanical · Plumbing · Lighting
- Model-health checkslevels · circuits · upstream sources
- Requirement structuringentity · population · property · value
- Structured engineering dataentities · relationships · source links
03 Reasoning
Assistive
AI investigation
Searches the connected evidence, interprets requirement language, explains a finding and proposes remediation. It never approves compliance and never alters official evidence.
Authority boundary
Authoritative
Deterministic engines
Resolve the population, evaluate the predicate, count coverage and contradictions, and issue the determination. Every evaluation is preserved as an immutable run.
04 Surfaces
- Working-tool integrationwhere the engineering team already works
- Review interfacestatus, findings and next actions
- Traceable reportwhat was checked, and against what
- Human sign-offnamed, accountable and reviewable
Architectural decisions this forced
- Deterministic authority for every official automated result.
- AI scoped to search, explanation and remediation guidance, visibly labelled as such.
- Evidence provenance and coverage recorded per requirement, not summarized at the end.
- Immutable evaluation runs, so “why did this pass last month?” has an answer.
- Human review kept separate from automated status, in the interface as well as the schema.
- Multi-version Revit compatibility isolated behind a thin adapter.
- Local and on-premise deployment paths, because the model may not leave the network.
- Release and installer validation treated as technical delivery, not as a packaging afterthought.
03Integration
Engineering software is a system operating inside another system.
Artifacts
- Host-safe integration
- Structured engineering data
- Model-health checks
Build inside the workflow, not beside it.
Revit is a long-running desktop application with its own document lifecycle, transaction model, external event queue and threading rules. An add-in that treats the document as a database it can query from anywhere works in a demo and fails intermittently when the model is busy, a command is still active or a document changes underneath it. Host access stays behind commands, external events and small observable transactions; domain logic receives stable data instead of reaching through the host from everywhere.
The visible interface is only one part of the integration. The important boundary is between host-owned state, structured domain data, AI-assisted investigation and deterministic validation. Commands, transactions, runtime health and release controls make that boundary observable to the people who operate the system.
Fig. 02Engineering software integration surfaceCapability model
| Capability | Scope |
|---|---|
| Context | Models · drawings · requirements · schedules |
| Structured data | Entities · relationships · attributes · source links |
| AI-assisted analysis | Search · interpretation · candidate findings |
| Deterministic validation | Rules · coverage · contradictions · review status |
| Technical delivery | Host integration · testing · packaging · release |
Extraction and model health
Extraction is discipline-scoped — All, Electrical, Mechanical, Plumbing and Lighting — because a check that silently walks the whole model produces findings nobody owns. Model-health checks run first, since a requirement cannot be evaluated against a model that is internally broken:
- Elements without levels
- Unconnected fixtures
- Fixtures missing circuits
- Panels without upstream sources
Investigation runs across the extracted context rather than over raw files: requirement → sheet → room → element → schedule → source. The agent assembles what a reviewer would have had to assemble by hand, and stops at the boundary.
Fig. 03Investigation pathDiagram
C# · .NET · Revit API · WPF/MVVM · Python · APIs · structured data · Docker · PowerShell · React/TypeScript · CI/CD
The host-level constraints behind these decisions — the version seam, QA against a moving model, the five failures that change the architecture and the release loop — are documented separately.
04Evidence
A determination is only as good as the path a reviewer can walk back.
Artifacts
- Evidence graph
- Requirement compiler
- Governed verification run
The evidence model is a graph, because engineering facts are relational.
A requirement scopes a population. A drawing informs a room. A room contains an element. A schedule gives that element a value. A predicate evaluates it. A counterexample drives the finding. Keeping those relations explicit is what lets a reviewer inspect the path instead of trusting a paragraph generated at the end — and it is what keeps the result reconstructable after the model is reloaded and the original conversation is gone.
Getting the population right is most of the difficulty. Too broad and the system reports compliant elements as violations; too narrow and it silently skips real ones. Formalization makes that choice once, visibly, instead of letting a different reviewer or a different prompt reinterpret the same sentence later.
Fig. 04Evidence systemDiagram
The workbench below is a smaller, synthetic version of that traversal, built so a reader can move from the graph to the compiler and then run the fixed rule without losing the reasoning chain. Same population, same source path, same predicate, three views.
Requirements validation · synthetic system
From engineering language to a defensible determination.
One requirement, three views. Trace the evidence, compile the check or run the governed verification. Each view preserves the same population, source path, predicate and result.
View 01Evidence topologySynthetic data
Drag nodes to rearrange. Hover for one hop. Click to lock the full chain. Keyboard focus is supported.
Population
P = {x1, x2, …, x14}
Universal claim
∀x ∈ P, h(x) ≥ 10ft
Counterexample · representative element
h(x14) = 8.5ft < 10ft
Existential statement
∃x ∈ P : h(x) < 10ft
One counterexample is enough to disprove the universal claim — this is the same graph above, read as a formal statement.
View the reasoning chain as text
- Claim: elements in scope must satisfy the stated condition.
- Scope: the applicable engineering population is explicitly defined.
- Sources: representative drawing and schedule records inform the evaluation.
- Predicate: evaluate h(x) ≥ 10 ft for every element in the population.
- Counterexample: one representative element is recorded below the condition.
- Determination: NOT MET. One valid counterexample disproves the universal claim.
One valid counterexample is enough to disprove the universal claim. The graph makes that reasoning inspectable.
Requirement compiler · interactive model
Turn engineering language into a predicate.
Change the fields to see how a prose requirement becomes a typed population, property and expected value.
Synthetic compiler · no client data leaves the browser.
Governed verification · interactive model
Requirement“All exterior luminaires shall be mounted above 10 ft.”
∀x ∈ P, h(x) ≥ 10ft
Universal claim · all elements must satisfy the predicate.
- Scanning source drawings…
- Cross-referencing schedule records…
- Matching model elements…
Population P — representative elements, stated attribute
- Representative population analyzed
- Most elements satisfy the predicate
- One representative element is below the stated condition
ReadoutGoverned verification resultSynthetic data
Synthetic demonstration. It shows the relationship between scope, evidence, rule and review; it is not client data or a project result.
05Delivery
The output belongs where the work and the authority already live.
Artifacts
- Reviewable output
- Test and release path
- Human-in-the-loop handoff
Delivery ends in a reviewable system state, not in a model response.
A check should end with a traceable report, a status that a reviewer can challenge and a feedback path the team can act on. The delivery boundary includes the software, its test surface, its release path and the human review that gives the result operational meaning.
Fig. 05Engineering software delivery lifecycleCapability model
| Integration boundary | Host-safe commands and transactions |
|---|---|
| Test surface | Representative models and failure states |
| Release path | Version matrix, package and installation validation |
| Review path | Traceable evidence and human sign-off |
Capability-level checklist. Concrete project outcomes and performance figures are omitted unless independently measured and authorized for publication.
What is verified
Testing and acceptance should carry evidence, confidence, coverage and decision traceability rather than a simple pass mark. The right claim is specific: which behavior was exercised, under which host and data conditions, and what a reviewer can inspect when it changes.
Open · awaiting authorized figures
Field outcome
This public view describes engineering capabilities and synthetic verification. It does not disclose project identities, private architecture or measured field outcomes such as review time, rework avoided, adoption or requirements closed per cycle.
To make a stronger public claim: use an independently authorized demonstration or a before/after measurement with its scope and method stated.
What this practice proves
Complex engineering workflows can be turned into structured software systems when domain modeling, systems integration, AI-assisted investigation, deterministic validation, testing and human review are designed together. The public artifacts show the method without exposing confidential implementation details.