Client project
AI procurement platform built on a RAG pipeline
I led the development of a procurement platform where an AI assistant helps buyers search, compare and request products from a large multi-supplier catalog, with every answer grounded in real product data through retrieval-augmented generation (RAG).
- Role
- Lead developer
- Type
- Client project
- Focus
- RAG, AI search, procurement flows
- Data
- Large multi-supplier catalog
The challenge
Buyers were working with a catalog of thousands of products from different suppliers, each with its own naming, units and spec sheets. Finding the right item meant endless filtering, and comparing options meant copying specs into spreadsheets.
The client wanted an AI assistant, but a generic chatbot was not acceptable: in procurement every recommendation has to point to a real product with correct specifications. An answer that sounds right but is made up costs real money.
What we built
- An assistant that understands requests in plain language, such as “ergonomic chairs for a 40-person office within budget”, and answers with matching catalog products and the reasons they match
- Side-by-side comparisons generated from structured product data, not from free text
- Turning a conversation into a structured purchase request that is ready for internal approval
- Admin tooling to import and refresh supplier catalogs without touching the AI layer
How the RAG pipeline works
Each layer has one job, so it can be tested and improved on its own.
- 1
Ingestion & normalization
Supplier feeds and spec sheets are mapped into one common product schema: names, units, categories and attributes.
- 2
Chunking & enrichment
Products are split into retrievable units with metadata such as category, supplier and price range, so filters can be applied before any AI step.
- 3
Embeddings & vector index
Each unit is embedded and stored next to the structured data in PostgreSQL with pgvector.
- 4
Hybrid retrieval
Semantic vector search is combined with keyword matching and hard filters (budget, category, supplier), so both vague and exact queries work.
- 5
Re-ranking
Candidates are re-ranked by relevance to the full request before they reach the model.
- 6
Grounded generation
The LLM answers only from retrieved context, references product IDs and returns structured JSON for comparisons and purchase requests.
- 7
Evaluation & feedback
A set of real buyer queries is used to measure retrieval quality on every change, and user feedback flags weak answers.
My role as lead
- Designed the RAG architecture and the data model behind it
- Split the work across the team, set coding standards and reviewed every pull request
- Worked directly with the client to prioritise features and turn procurement rules into product behaviour
- Owned releases and production stability
Outcome
Buyers find and compare products in a conversation instead of manual filtering, and every AI answer can be traced back to the catalog entries it came from. Because knowledge lives in the retrieval layer, new suppliers and catalog updates show up in answers as soon as they are indexed, with no model retraining.