[ Case study ]
Brokers reviewed every client's policy PDFs manually to extract covers, exclusions, and renewal dates for comparison. Forty-page documents, four hours each, and the extraction quality depended on which broker was tired that day.
CLIENT a commercial-insurance brokerage — FOCUS Extract with structure, not prompts-and-prayers
Representative examplesEvery case study in this library is an illustrative composite of the kind of engagement we deliver — written to show our method and standards, not to name clients.
Brokers at this commercial-insurance brokerage place coverage for businesses of every shape, and every placement means reading policy documents: covers, exclusions, warranties, renewal dates, buried in forty pages of carrier-specific language. The work is regulated, the documents are client-confidential, and the firm's compliance posture was written by a broker who has seen vendors promise security and deliver a paragraph. Nothing leaves their cloud tenancy, and every client-facing summary carries a broker's signature — those facts shaped everything that followed.
Brokers reviewed every client's policy PDFs manually to extract covers, exclusions, and renewal dates for comparison. Forty-page documents, four hours each, and the extraction quality depended on which broker was tired that day.
We proposed an extraction pipeline that runs entirely inside the brokerage's own cloud tenancy, maps every policy document to a structured schema with per-field confidence and page references, and marks broker verification as a mandatory gate before anything reaches a client. Provenance was the design's spine: an auditor must be able to walk from any extracted clause back to its source page, and from any release back to the eval set that certified it. Previously hand-extracted files became the benchmark, so every release is measured against what the brokers themselves produced.
Just as important is what we ruled out, and why:
Document fields were mapped to a schema with per-field confidence and page references, so every extracted clause points back to its source page.
The model API runs in the brokerage's cloud account with no data retention — reviewed against their compliance checklist before launch.
A set of previously hand-extracted documents became the eval set; the AI's output runs against the brokers' answers every release.
Delivered by the systems pod — engineer + automation specialist over 9 weeks, with working increments reviewed with the client every week.
Obstacle
Running inside the tenancy meant no vendor autoscaling, and the first full-batch run on forty-page documents took long enough that brokers started reading PDFs again while they waited.
Handled: We batched extraction per document section, pre-processed page ranges in parallel, and added progress indication so a broker can work other files during a run.
Obstacle
One carrier embeds its endorsements as scanned images inside otherwise digital pages, and the first release silently returned blank fields for them.
Handled: The pipeline now detects mixed-mode pages, routes the image regions through OCR, and marks any unresolvable field for broker review rather than outputting nothing.
The headline: average policy-comparison preparation per client file, verified over 40 files — 4 hrs → 25 min, read from Broker time logs plus eval suite. A second check: field-level extraction accuracy against the human baseline at 96%.
The brokers stopped describing policy review as the worst part of the month. Comparisons now start from a structured draft with page references, and the verification pass — reading the AI's field against the source — is faster and calmer than transcription ever was. Junior brokers handle document sets they would once have escalated, because the schema tells them where to look, and the compliance officer's audit requests are answered by exporting a log instead of reconstructing a memory.
The result was read from Broker time logs plus eval suite against the pre-engagement baseline over the stated window, with a guardrail check on field-level extraction accuracy against the human baseline. Where platform-reported numbers and business outcomes differ, this record says which layer it is quoting.
What we would do differently
We would have set the confidence thresholds with the brokers before coding — our defaults were far more cautious than their actual workflow needed.
[ Related service ]
[ Related builds ]
45 min 4 minAverage handling time per invoice batch (human review only), measured over the first full month
44% 71%Tier-1 tickets resolved without human touch, month two post-launch versus month before
[ Next step ]
Next case study