FIELD REPORT Nº 02 · PRODUCTION AI · 2026

Four AI pipelines for a mortgage brokerage

Turning documents, inboxes, and CRM state into dependable drafts - without pretending a model should make the final decision.

The field problem

Brokerage work arrives in fragments: client documents, email threads, lender commitments, forms, and records spread across several systems. The expensive part is rarely a single dramatic task. It is the repeated reading, comparing, copying, naming, checking, and following up that surrounds every file.

The engineering brief was therefore not “add AI.” It was to identify bounded decisions, make their inputs explicit, and return useful work to a person in a form they could inspect. Four workflows emerged: document intake, email drafting, commitment monitoring, and anniversary reporting.

The system

Each pipeline is a small TypeScript service running on Cloudflare Workers. Connectors gather permitted records from Microsoft Graph, SharePoint, Zoho, and Finmo. The service normalizes those inputs into a versioned schema before a model sees them. Model output is parsed back into another schema, checked against the source material, and delivered as a draft or exception for human review.

This shape keeps the probabilistic part narrow. Authentication, idempotency, scheduling, duplicate detection, parsing, validation, and audit context remain ordinary software. A model is used where language is genuinely useful; it is not asked to compensate for missing system boundaries.

INGEST → NORMALIZE → DRAFT → VALIDATE → HUMAN APPROVAL → RECORD

Decisions under pressure

Production failures were usually less glamorous than model research and more instructive: expired OAuth grants, unexpected document encodings, a field renamed upstream, a retry that looked like a second job, or an email thread whose newest message was not the one a naive parser selected.

The response was defensive design. Every run receives an idempotency key. External calls are isolated behind adapters. Schemas reject plausible-looking but incomplete output. Retries distinguish transient network faults from malformed work. Exceptions surface with enough context for a human to decide what happens next instead of disappearing into a log.

What changed

Across the four workflows, the published estimate is more than 230 hours of repetitive work returned each year. The more important result is consistency: the same checks happen in the same order, a reviewer receives a prepared draft rather than a blank page, and edge cases become observable engineering work instead of private memory.

The measurement is intentionally operational. Time saved is tracked against the previous manual path, while rejected and corrected outputs reveal where the workflow needs better rules. Automation is not considered finished when it runs; it is finished when its failure modes are understandable.

Field notes

The lasting lesson was that trustworthy AI products are mostly careful systems engineering. Useful prompts matter, but so do token budgets, typed boundaries, deterministic preprocessing, source citations, access control, retry policy, and a clear point at which the machine stops and a person decides.

The model drafts. The system checks. The human owns the decision.