- 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:
- receive images and documents;
- classify them;
- type in or extract the fields;
- check the data;
- 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.
$ grep -rl "[[blog/ai-first-ocr-with-exception-review]]" ~ # linked from
- garden/exception-based-human-review.mdException-based human review
An AI-first OCR pipeline, with people for the exceptions: document classification and OCR extraction on Cloudflare Workers, with human review for failures and corrections.