Back to work

Vision + OCR document AI

Premier Scan

A document-intelligence platform that evolved invoice OCR into hotel-folio extraction, deterministic auditing, and human-in-the-loop review.

~97% regression accuracyDeterministic audit checksHuman review loop
Human-in-the-loop hotel folio extraction and audit review interface

Problem

Operations teams had to manually extract and reconcile fields from invoices and hotel folios, then inspect subtle mismatches across names, dates, rates, taxes, and line-item charges.

Approach

  • Combined OCR and Bedrock vision extraction so scans and native PDFs could be converted into schema-validated records.
  • Ran deterministic audit checks for rate, date, name, tax, duplicate-page, and unexpected-charge mismatches instead of asking an LLM to judge every field.
  • Built a three-panel review station where operators can inspect confidence, correct fields, approve results, and feed corrections into a learning log.

Architecture

  • PDF or image input is rasterized into page images and checked for duplicate-page signals.
  • Vision extraction produces structured candidates validated against a JSON schema.
  • A deterministic audit engine checks business rules and stores findings in an audit database.
  • The review UI presents the source document, extracted fields, findings, and correction controls together.

Production

  • Golden-set regression tests catch extraction and audit regressions before release.
  • Confidence values route uncertain fields to human review instead of silent acceptance.
  • Synthetic folios and redacted operational data keep public demonstrations confidentiality-safe.

Tradeoffs + next steps

  • Deterministic checks add implementation effort but make financial and operational findings explainable.
  • The next step is expanding the golden set across more folio layouts and lower-quality scans.

Result

The work progressed from high-volume invoice extraction into a testable folio-audit workflow with measurable accuracy, explicit findings, and operator approval.

Confidentiality note: The public screenshot uses a synthetic smoke-test folio. Raw invoices, hotel folios, and customer records are not published.

Stack

PythonFlaskNext.jsAWS BedrockVision modelsPyMuPDFTesseract OCRJSON SchemaSQLitePytestPlaywright

Next case study

AWS Nova Sonic Voice Agent

Discuss production AI

Email Fazeel