A fintech lender processing 800 loan applications per month needed decision-support tooling that would reduce loan officer review time without introducing hallucination risk into a regulated decision process. SOC 2 Type II compliance required. Six-week timeline from brief to production.
The problem
Loan officers spent an average of 47 minutes per application manually reviewing bank statements, tax documents, and credit reports to extract the data points required for underwriting. The process was consistent but slow. The organization had evaluated three commercial AI tools that failed SOC 2 requirements because they processed documents through third-party inference APIs.
The solution required: fully on-premise inference (no document content leaving the network), retrieval from a document index not a generative model for factual extraction, structured output format that maps to the existing underwriting system, and a complete audit trail of every AI-assisted extraction for regulatory review.
What we built
Document ingestion pipeline: PDFs parsed with Docling, chunked by document section, embedded with a locally hosted Nomic embedding model. Vector store: Qdrant running on the organization's on-premise infrastructure. Retrieval layer: hybrid search (dense plus sparse) with reranking, returning document excerpts with source page citation. Inference: Mistral 7B Instruct quantized to Q4_K_M via vLLM for structured JSON extraction from retrieved context. Audit log: PostgreSQL table with query, retrieved chunks, model output, and loan officer confirmation timestamp -- append-only, retained for 7 years per regulatory requirement.
Outcome
Loan officer review time reduced from 47 minutes to 18 minutes per application. System processes factual extraction only -- underwriting judgment remains with the human. Zero hallucination incidents in 90-day production period (verified against ground-truth document values). SOC 2 Type II audit completed with no findings related to the AI system. Total infrastructure cost for the on-premise deployment: 1,200 dollars per month in server costs, versus 4,800 dollars per month estimated for a compliant commercial alternative.