Inspiration

A photo can arrive successfully and still be too dark, blurry, cropped, or reflective to review. I wanted to make capture quality visible before a person has to inspect a card.

What it does

Yosumi OCR is a demo for fictional Japanese training cards only. OpenCV detects and rectifies the card, measures blur, glare, brightness, and clipping, and gives a short retake hint when an image fails. When it passes, fixed template regions are read with Tesseract and the app returns a preview with the portrait and number regions masked.

How it was built

The browser resizes images before upload. CloudFront serves the static site from private S3 and signs API requests to an AWS Lambda container running OpenCV and Tesseract. Images are processed in memory; source images are not stored and OCR text is not logged. Terraform manages the deployment.

Challenges and what I learned

Capture quality and OCR accuracy are separate problems: a photo can pass the quality gate and still contain OCR errors. The five public examples are fictional synthetic cards, not evidence of real-world accuracy. The mask coverage value checks fixed regions in the returned preview; it does not guarantee that every sensitive detail was found. The UI asks users to review the result.

Limitations

This demo does not verify identity, detect document authenticity, or match faces. Do not upload real identity documents.

Built With

Share this project:

Updates