ai-first-ocr-with-exception-review.md2 min read
date
2026-10-06
tags
[ai, cloudflare, workflow, case-study]

An AI-first OCR pipeline, with people for the exceptions

Turning a manual document workflow into automated intake, classification, extraction and validation on Cloudflare Workers, with human review only where automation fails.

This project took a document workflow for vehicle dossiers that was done almost entirely by hand and made it automated by default.

Before

The core flow was manual:

  1. receive images and documents;
  2. classify them;
  3. type in or extract the fields;
  4. check the data;
  5. prepare the submission.

Every step depended on a person, so every document waited for one.

After

I built the workflow end to end, along with the review tooling:

  • Intake from two places. Submissions arrive through a Zalo webhook, and staff can also create records in the admin.
  • Automatic classification of each document.
  • OCR field extraction.
  • Duplicate detection, so the same document doesn’t get processed twice.
  • Validation rules that check the extracted data.
  • Exception review for anything automation couldn’t handle.
  • Submission package generation at the end.

AI-first, with people for the exceptions

People don’t check every document before it moves on. They aren’t removed from the process either.

Documents are classified and extracted automatically. A person steps in only when automated processing fails or needs correcting. Human attention goes to the cases that need it, not to re-checking work that’s already right.

I’d describe it as AI-first with exception-based human review. It isn’t human-first, and it isn’t fully autonomous: the review step is where failed or wrong extractions get corrected.

The stack

  • Cloudflare Workers for the application and processing steps;
  • Queues to move documents through the stages;
  • D1 for structured data;
  • R2 for the images and files;
  • React for the admin and review tools.

Queues suit a staged pipeline like this one, where each document moves from intake through classification, extraction and validation.

What I can’t tell you

I have no published accuracy rate, throughput figure, document volume or time-saved number for this project. Without them, the honest claim is about the shape of the workflow: a manual pipeline became an automated one, with human review as the exception path. Any percentage I quoted would be one I made up.

The general idea is in the garden: Exception-based human review.

↑↓ select ↵ open esc close