Answers From Your Own Data,
With the Receipts
Retrieval-augmented generation puts your documents, contracts, tickets, and databases behind a question box. Done properly, every answer cites where it came from. Done carelessly, it is a confident liar with access to your file server.
Straight answer on our track record: we have not yet delivered a client RAG system. We have built one retrieval assistant in-house, currently in testing, and we have 20+ years of building the data access, search, and permission layers that RAG lives or dies on. This page is our engineering position, not a case-study reel. If you would rather buy from someone with ten RAG deployments behind them, that is a reasonable choice.
Most RAG Failures Are
Retrieval Failures
When a RAG system gives a bad answer, the model is usually not the problem. It answered faithfully from the wrong context because the wrong context is what it was handed.
Chunking Destroyed the Meaning
Splitting enterprise documents every 500 characters cuts tables in half, orphans clause numbers from their clauses, and separates headings from what they describe. Retrieval then returns fragments that are individually meaningless.
Vector Search Alone Misses Exact Terms
Embeddings are good at meaning and bad at identifiers. Ask about invoice GB-4471 or part number 88-A and pure semantic search will cheerfully return things that are merely similar. Keyword matching is not obsolete.
No Reranking, So Precision Collapses
Fetching the top twenty candidates and stuffing them all into the prompt buries the one good passage in noise, inflates cost, and increases the chance the model latches onto something irrelevant.
Permissions Were an Afterthought
If the index does not carry the same access rules as the source system, retrieval becomes a way to read documents you are not entitled to, phrased helpfully. This is the failure mode that ends careers, not the hallucinations.
Retrieval Is a Search Problem
Before It Is an AI Problem
We approach RAG the way we approach any data access layer: what is the corpus, how is it structured, who is allowed to see which parts, and what does a correct answer look like? Get those right and a modest model performs well. Get them wrong and the best model available will produce fluent, well-cited nonsense. That framing is also why we will tell you when retrieval is not the answer, sometimes the honest recommendation is a better search index, a report, or simply fixing the data.
A RAG system that cannot show you which document an answer came from is not a knowledge tool. It is a rumour engine with good grammar.
— Anil Channa, Founder, Softwiz InfotechHow We Build Retrieval
The parts that determine whether the answers are trustworthy and the parts most implementations skip.
Hybrid Search
Vector similarity for meaning, combined with keyword and filter search for identifiers, dates, codes, and status. Fused and scored together, because enterprise questions contain both kinds of term.
Reranking
Retrieve broadly, then rerank to a small, high-precision set before it reaches the prompt. Fewer, better passages means more accurate answers and a materially lower token bill.
Structure-Aware Chunking
Chunking that follows the document's own shape: headings, clauses, table boundaries, page context, with the surrounding metadata carried along so a retrieved passage still knows what it belongs to.
Azure AI Search & pgvector
Azure AI Search where you want managed hybrid retrieval and semantic ranking in your own tenant; pgvector where your data already lives in PostgreSQL and a separate search service is not worth the operational cost.
Permission-Filtered Retrieval
Access rules travel with the index and are applied at query time against the user's identity, so retrieval can never return a passage the person asking could not already open.
Citations & Evaluation
Every answer traceable to its source passages, and an evaluation set of real questions with agreed correct answers so quality is measured rather than argued about.
What We Have Built So Far
One in-house retrieval assistant, plus the search, data and permissions work underneath it. Clearly labelled, no client RAG deployments yet.
Conversational Programme Finder
A fitness platform where clients could be invited to buy a coach's programme, but had no way to find one matching their own goals. We added an assistant that takes a plain-language description of what the client wants and returns matching programmes with the studio offering them.
Natural-language retrieval over a live product catalogue, integrated into an existing .NET API.
Search and Matching Under Scrutiny
Passenger data analysed across air, maritime and land borders, with watchlist connectors and carrier feeds in PNRGOV and PAXLST formats. Not RAG, but exactly the discipline of matching records correctly when being wrong has consequences.
.NET · PNRGOV / PAXLST · watchlist matching
The Data Layer Retrieval Depends On
A multi-tenant .NET API with JWT-scoped access across coaches, studios, clients, programmes and commerce. Permission-filtered retrieval requires precisely this: knowing exactly who may see which records, at query time.
.NET on IIS · React + Vite (PWA) · JWT auth · OpenAPI 3.0 · multi-tenant data model
High-Volume Structured Data
Real-time pallet tracking over IoT and 0G networks, with billing and cross-border pooling logistics. The unglamorous foundation of any retrieval system: pipelines that stay correct at volume.
.NET backend services · IoT / 0G telemetry · billing integration
Prove the Retrieval, Then Build
Retrieval quality is measurable before any of this becomes a product. We measure it first.
Corpus & Question Review
What is the actual body of data, how is it structured, how current is it, and what questions do people genuinely need answered? We collect real questions, not hypothetical ones.
Retrieval Baseline
Index a representative slice and measure whether the right passages come back for the real questions, before a language model is involved at all. If retrieval fails here, nothing downstream can fix it.
Generation & Citations
Add the model, ground every answer in retrieved passages, and require citations. Then evaluate against the agreed answer set and tune chunking, hybrid weighting, and reranking.
Integrate & Harden
Wire it into your application behind existing auth, apply permission filtering, cap cost and latency, log every query and its retrieved context, and roll out incrementally.
What We Build With
Chosen per engagement. We will recommend the cheaper, simpler option whenever it is sufficient.
Sometimes Long Context Wins. Sometimes Neither Does.
If your corpus is small and stable, a long-context prompt can beat a retrieval pipeline you then have to operate. If your questions are really reports, you need SQL and a dashboard. If your data is contradictory, no retrieval strategy will save you, fix the data first. The assessment tells you which of these you are actually looking at.
Got a Body of Data Nobody Can Search Properly?
Tell us what it is and what people need to ask of it. We will tell you whether retrieval is the right approach and say so plainly if it is not.