[mindgraph AI]
MINDGRAPH @ AI
CLASSIFIED

root@mindgraph:~# cat case-studies/augmont-kyc-verification.md

Self-Hosted Real-Time KYC Image-to-Text API

DOCUMENT: Self-Hosted Real-Time KYC Image-to-Text API

INDUSTRY: Financial Services

PROJECT: Real-Time KYC Verification API

CLASSIFICATION: CASE STUDY // PUBLIC RELEASE

SUMMARY:

A document-quality gate and an AI reader working together, so a bad photo never wastes an extraction call and a good one gets structured data back in seconds.

DETAIL:

Six-stage pre-AI quality gate, perspective-transform deskewing, self-hosted vision-language model extraction, and a fully async FastAPI + Celery + Redis pipeline with guaranteed cleanup.

IMPACT:

CLIENT SCALE: $7B gold-lending operations

09 / FINANCIAL SERVICES / IDENTITY VERIFICATION

A document-quality gate and an AI reader working together, so a bad photo never wastes an extraction call and a good one gets structured data back in seconds.

Client: Banking & financial services firm

Tags: Banking · KYC · Multilingual OCR · Computer Vision · Async Processing

// Context

Verifying identity and banking documents at volume meant handling whatever a customer's phone camera actually produced — blurry, glared, dark, skewed, or genuinely unreadable images mixed in with good ones — across documents issued in multiple languages and scripts, for a use case where extraction accuracy on sensitive financial and identity data wasn't negotiable.

// The Contribution

Built an asynchronous KYC document API that filters before it extracts. Every submitted image passes through a six-stage quality gate — blur, resolution, contrast, glare, darkness, and edge density — before anything is sent to an AI model at all; a document that fails any check is rejected immediately with a specific, actionable reason. Images that pass are automatically detected by their four-point outline and corrected with a perspective transform to a clean top-down view, then sent to a self-hosted, open-source vision-language model under a strict JSON-only extraction prompt. The whole pipeline runs asynchronously: a client submits an image and gets a task ID back immediately, processing happens on a Celery worker pool backed by Redis.

// Technical Details

  • Six-stage pre-AI image quality gate: blur (Laplacian variance), resolution, contrast, glare (bright-pixel ratio), darkness, and edge density
  • Four-point document contour detection with perspective-transform deskewing to a top-down crop before extraction
  • Extraction via a self-hosted, open-source vision-language model under a strict JSON-only response contract
  • Fully asynchronous FastAPI + Celery + Redis pipeline: submit → immediate task ID (HTTP 202) → poll for result
  • Automatic retries (up to 3) with backoff on transient task failures
  • Hard/soft task time limits (5 min / 4 min) preventing runaway jobs; results expire after 30 minutes
  • Guaranteed image file cleanup after every run, success or failure
  • API-key authenticated endpoints