Structured Extraction — Documents to Clean Data
A live, gated demo: upload an invoice, receipt, résumé, contract, or business card and get back clean, schema-aligned JSON — fields, line items, and a one-line summary. LLM-agnostic; this instance uses Gemini.
Overview
Structured Extraction is a working proof-of-value for turning unstructured documents into reliable structured data. Authenticated demo users upload a PDF, image, or text file and pick a document type; the app returns a consistent JSON envelope with extracted fields, repeating line items (e.g. invoice rows), a short summary, and an explicit list of requested fields that were not found. The extraction is grounded — the model is instructed never to invent values, only to extract what is present. The architecture is deliberately LLM-agnostic: the same flow runs against a local model served by Ollama (for example Llama 3) or any cloud LLM. This deployment is wired to Google Gemini, but the model is a swappable component. Files are processed in-memory and are not stored.
Problem Solved
Back-office teams re-key data from invoices, receipts, forms, and contracts by hand — slow and error-prone. This demo shows how a properly constrained LLM converts a document into structured, schema-aligned data ready for a database or workflow, while clearly flagging anything it could not find rather than guessing.
Capabilities
- PDF, image (PNG/JPG/WebP), and text file ingestion
- Document-type schemas: invoice, receipt, résumé, contract, business card, generic
- Consistent JSON envelope: fields, line items, summary, not-found list
- Repeating-row (line-item) table extraction
- Grounded extraction — refuses to invent missing values
- Downloadable JSON output
- Gated access with password + email OTP
- In-memory processing, rate limiting, and size limits