## Problem
Enterprise document collections are large, messy and full of near-duplicates, and the people who need answers from them are not engineers. A single retrieve-then-answer chain gave confident wrong answers whenever retrieval missed.
## What I did
- ›Scoped the platform directly with business stakeholders and built it to their security and compliance requirements, for a user base of over ten thousand.
- ›Modelled the pipeline as a LangGraph state machine with explicit nodes for query rewriting, retrieval, grading of retrieved chunks and a fallback path when nothing relevant was found.
- ›Spring Boot microservices with secure REST endpoints connecting legacy enterprise databases to the ML pipelines.
- ›Led the MLflow-based MLOps pipeline for model versioning, tracking and promotion to production.
## What I learned
Most RAG failures are retrieval failures. Making the system admit 'not found' was worth more than any prompt tweak.