An AI system for construction coordination.
We built BrickNote because construction coordination is the exact kind of workflow we specialise in: meetings, documents, email, field notes, photos and repetitive reporting, all living in different places. It runs on the coordinator’s own computer, on their own files, with the model they choose. The same architecture applies to other operational domains.
The workflow
An OPC (ordonnancement, pilotage, coordination) coordinator runs the weekly site meeting for a construction project. Every week: the réunion de chantier, then the compte-rendu — a document-grade report that dozens of contractors act on — then diffusion to every recipient, then chasing the actions that were not done. The registre of actions is perpetual: what was open last week has to reappear this week, or it is lost.
- Inputs
- Meeting audio, site photos, emails, last week’s report, the Excel action tracker
- Output
- One compte-rendu per meeting, diffused to roughly sixteen recipients, plus an updated registre
- Failure mode
- Actions fall through between meetings; hours lost re-typing what was said
What we built
A desktop app that runs the loop from the coordinator’s own chantier folder. Seven stages; a person validates before anything leaves.
- CaptureThe chantier folder as it is — reports, plans, schedules, contracts, emails, photos, scans, the action workbook — indexed and read in place. The phone adds photos and the réunion recording; consent is recorded before any recording.
- Speech-to-textThe recording transcribed, speakers separated, through the endpoint the cabinet configured — behind the same seam as every other model call.
- ExtractionDecisions, actions, owners, deadlines and réserves into a strict JSON schema, then repaired against the dossier: a citation must resolve to a file, a reference must exist, a date must be a calendar day.
- ReconciliationEach item matched to an open action in the registre or created as new — nothing falls through.
- Human validationHuman gateEvery proposition — from a worksheet, an email, a recording — moves the registre only on the coordinator’s click. Nothing is sent unvalidated.
- DiffusionThe compte-rendu as an A4 PDF and the relances, sent from the coordinator’s own Microsoft 365 mailbox — on their click, never on a timer.
- Registre + audit trailThe perpetual register updated; the diffused version frozen, its SHA-256 printed in the footer.

What we measured
The bench and the eval gate exist because a demo in front of the only buyer you have is not the place to discover a model’s blind spot. Two engines, one discipline: the desktop’s engine in September 2026, the first engine’s speech and extraction path in July.
- 15 / 16
Worksheet questions answered, live model
Sixteen fixture questions on the demo chantier — deterministic draft, then the model, then the repair — on gpt-5-mini in Azure France Central: fifteen answered, median 31 seconds, 31 of 33 draft propositions kept. The one miss was a completion budget the draft covers on its own.
- 2 / ~130
Citations the repair removed
Of roughly 130 citations the model wrote, two did not resolve to a piece of the folder and were dropped, as is any quoted passage the repair cannot find in the piece it names. What that checks is the citation, not the sentence carrying it: a claim whose source is rejected stays in the text without its reference, which is why a person reads the worksheet before it counts.
- 0.33
Entity recall, default speech provider
July 2026, on a fixture built from real construction vocabulary — lot names, plan references, trade abbreviations — the incumbent recognised about one term in three, at a word error rate of 0.51. The bench found it; a customer would have found it in the first meeting.
- 3 · 1
Three speech providers, one seam
Two challengers were added behind the same interface, with vocabulary biasing where the engine supports it, ranked on entity recall with a hard gate at 0.90 — and a synthetic corpus may only eliminate a candidate, never select one. The desktop keeps the seam: Azure, OpenAI or Mistral transcribe behind one call.
- 13
Adversarial extraction fixtures
Malformed model output, missing fields, truncated responses, invented dates, invented attendees: each one pinned as a test that gated the first engine in CI. The desktop engine carries the rule as a repair step rather than a prompt — what the sources do not back does not survive.
- 5
Model providers, one transport
Azure OpenAI, OpenAI, Anthropic, Mistral and Ollama behind one strict-schema transport, with retries and a budget guard. A cabinet pastes a key and the desk finds the model; a local model is a supported answer, not a demo.
Architecture decisions
- Local-first by construction: the chantier folder is the dossier, the state sits in a local database on the same machine, and nothing leaves it that the coordinator did not choose to send. There is no BrickNote server.
- The model is a choice, not a dependency: one transport for five providers, a strict JSON schema on every call, and a bench that ranks them on the same sixteen questions. EU endpoints — Azure France Central, Mistral in Paris — are one paste away.
- A deterministic draft first, the model second, a repair third: the worksheet exists without a model; the model rewrites it; the repair drops any citation that does not resolve to a piece of the folder, and any quoted passage that is not in the piece. Structural, not semantic — the repair validates references, a person validates the reasoning.
- The main process trusts no path from the interface: every file it reads, opens or attaches must sit under a chantier folder or be one the coordinator handed over.
- Email is an untrusted boundary: messages land as files, the engagements extracted from them are propositions, and none touches the registre without a click.
- A diffused compte-rendu never changes: frozen content, its SHA-256 in the footer, the PDF rendered from the frozen version only — with the honest line that the timestamp is not certified.
Where it stands
The MVP is built: the folder, the cited worksheets, the compte-rendu from a recording, the Microsoft 365 mailbox — on the coordinator’s own machine, with the model of their choice. It was designed with a practising OPC coordinator, and it opens as a free public beta in autumn 2026 — anyone coordinating a chantier can download it and run it on their own files, with their own model key. We do not have paying customers to show you yet. We would rather show you the bench.
What transfers to your workflow
The parts that are not about construction at all: reading the files where they already are; a strict extraction schema and an eval gate; a repair step that refuses what the sources do not back; reconciliation against a living register; approval before anything leaves; sending from the person’s own mailbox; a provider seam so the model is a choice, not a dependency. The conversation we like to have starts with one question:
What would your version of this need to do?