A retrieval-augmented knowledge assistant over a large internal document set — grounded answers, visible citations and permissions enforced at retrieval.
- Client
- Verity
- Industry
- Professional Services
- Year
- 2026
- Services
- RAG & Knowledge SystemsAI Software DevelopmentWeb Application Development

Overview
What this project is.
Verity is a demonstration of how we build enterprise RAG. It models a professional services firm with two decades of accumulated policies, precedents and project documentation that nobody can search effectively, and shows the architecture we would put behind it.
Challenge
The problem to solve.
Keyword search fails on this kind of material because people ask questions in their own words, not the document's vocabulary. A general-purpose assistant fails differently: it answers confidently from training data rather than from the firm's actual documents, which in a professional context is worse than no answer at all.
Insight
What we noticed.
The hard part is not generation, it is retrieval. If the right three paragraphs reach the model, almost any capable model produces a good answer. If they do not, no amount of prompt engineering rescues it — so most of the engineering effort belongs upstream of the model.
Strategy
The approach taken.
Treat retrieval quality as the product. Parse and chunk documents according to their actual structure rather than a fixed token count, combine keyword and semantic search, rerank the candidates, and constrain the answer to what was retrieved. Enforce permissions at retrieval so restricted content can never reach a generation step.
Creative Direction
How it looks and moves.
An interface that makes provenance the point. Every claim carries its citation inline, sources open beside the answer rather than behind a click, and the system states plainly when it cannot find something. Restraint over chrome — the design job here is confidence, not decoration.



Execution
What the work involved.
Document ingestion covering PDF, Office formats and wiki exports
Structure-aware chunking with configurable overlap
Hybrid keyword and vector retrieval with a reranking stage
Permission filtering applied before generation, not after
Inline citation rendering linked to the source passage
Evaluation harness scoring a fixed question set on every change
Deliverables
- Ingestion pipeline
- Retrieval service
- Evaluation harness
- Web application
- Admin & re-indexing tools
- Architecture documentation
Stack
- Python
- FastAPI
- LangChain
- OpenAI
- PostgreSQL
- Vector database
- Next.js
- Docker
What it sets out to achieve
The outcome the work is built for.
This is a capability demonstration, so the outcomes below describe design intent rather than measured performance. We publish numbers only where a client has verified and approved them.
Answers you can check
Every response cites the passages it used, so a reader can verify rather than trust.
Permissions that hold
Access is enforced at retrieval, so restricted material cannot surface through a generated answer.
Quality improved deliberately
A fixed evaluation set turns “it feels better” into a measurable change.

