Todo el trabajo
estudio de casoIA y Agentes

Analizador OCR de documentos — captura de boletas de báscula

Un sistema con visión-LLM que lee ~50 boletas de báscula al día enviadas por WhatsApp y sustituye la captura manual por extracción validada y exportación en un clic.

Rol
Ingeniero full-stack de IA
Cronograma
Sistema en producción, uso diario
Stack
React / Vite · FastAPI · EasyOCR · Kimi K3 (visión) · Tesseract OSD · Supabase · Docker · PWA
Portada del analizador OCR de documentos — boleta de báscula en proceso
portada del proyectoIA y Agentes

Un sistema en operación diaria para la captura de boletas de basura — esta página incluye la demo en vivo.

Abrir demo en vivoSube las boletas de muestra o tus propios escaneos — extracción, validación y exportación completas.
Problema

Qué estaba roto

Un operador de manejo de residuos recibe ~50 fotos de boletas de báscula por WhatsApp cada día. Los operadores re-capturaban folio, cliente, peso y costo de cada foto en hojas de cálculo — lento, propenso a errores e imposible de auditar a ese volumen.

Enfoque

Cómo se resolvió

Construí un pipeline de preprocesamiento que normaliza la orientación EXIF, detecta la rotación del documento con Tesseract OSD y recorta cada foto a la región de la boleta antes del OCR. La extracción corre en un LLM de visión (Kimi K3) con procesamiento en paralelo y aislamiento de fallos por archivo; los resultados se guardan en Supabase y se validan cruzadamente (peso, costos esperados, folios duplicados) antes de que el operador apruebe o edite en línea.

Restricciones

  • Las fotos llegan rotadas, inclinadas y mezcladas con la interfaz de WhatsApp — la entrada es desordenada por defecto.
  • Los campos de peso deben validarse cruzadamente (Neto vs Toneladas x 1000) o un decimal perdido infla silenciosamente la factura.
  • Los operadores no son usuarios avanzados: subir un lote, obtener una tabla validada, exportar a Excel.
Stack

Herramientas del sistema

  • React / Vite
  • FastAPI
  • EasyOCR
  • Kimi K3 (visión)
  • Tesseract OSD
  • Supabase
  • Docker
  • PWA
Resultado

Qué cambió

El flujo diario que tomaba horas de re-captura ahora es subir → validar → exportar. Lotes de 50 escaneos se procesan en minutos con extracción de menos de un minuto por archivo, y la validación cruzada detecta los errores de decimales y unidades que solían colarse en las facturas.

≈50Escaneos por día
< 60 sExtracción por archivo
cruzadaValidación de peso
Lecciones

Lo que se queda

  1. 01Un decimal perdido en '2.240' vs '2240' cambia la factura 1000x — las guardas de validación importan tanto como el modelo.
  2. 02Rotar y recortar antes del OCR importa más que la elección del modelo; el pipeline hizo confiable la lectura.
  3. 03Los operadores confían en la herramienta cuando cada valor puede editarse en línea y cada exportación es auditable.
Todo el trabajo