Case · a Dutch trade union

Hundreds of cao's, thousands of pages, one place to ask.

For a Dutch trade union, Stiekema Studio built an AI knowledge assistant over a large collection of collective labour agreements (cao's). The system is in production and in daily use. This is the story behind it.

The reason

Knowledge that sat in PDFs and in people's heads

A cao is a legal document that often runs to hundreds of pages, and a union works with hundreds of them at once. Staff who deal with members have to answer questions about salary, leave, allowances and travel expenses quickly and correctly - arranged slightly differently in every sector. In practice that meant: searching through PDFs, paging around, and leaning on the few colleagues who know a cao by heart.

The task

Fast is not enough. It also has to be right.

A wrong answer about somebody's salary or leave does more damage than no answer. The bar was therefore higher than for an ordinary chatbot: every answer has to be grounded in the documents themselves, verifiable through a source reference, and the system has to say plainly when the answer is not in the collection. That starting point has driven every design decision.

The approach

The whole chain, not just the chat window

The visible part - the chat - is the tip of the system. Underneath it the full chain was built: automatic intake of new and revised documents, a processing line that copes with scans as well and leaves tables intact, a searchable knowledge base, and admin screens for quality, cost and access.

It was built iteratively, with real user questions as the test: first a working core, then extended and sharpened in short rounds. A suite of over a thousand automated tests watches the behaviour on every change.

The document pipeline
Ingestpdf & docx
Readscans too
Splitby meaning
Enrichthemes
Indexsearchable
Tables stay intact, with their heading and context attached.

[1] from document to searchable fragment, fully automatic

The result

In production, in use

  • Answers in seconds, where searching through PDFs used to take minutes or hours
  • Every answer with footnotes to document and page, so it is usable in conversations with members and employers
  • Comparisons across the whole collection that were not practically feasible by hand
  • New and revised cao's flow into the knowledge base automatically
  • Administration, quality monitoring and cost visibility in the organisation's own hands
The conversation
How much annual leave do I get after 10 years of service?
At ten years of service the accrual is 25 statutory and 3 non-statutory days1. From the age of 45 a seniority day is added2.
Sources [1] cao chapter 6, p. 41 · [2] annex 3, p. 87

[2] the daily picture: question, answer, sources

And for you

Cao's are the example, not the limit

The approach is not tied to cao's. Wherever an organisation leans on a large collection of documents - schemes, policy, handbooks, procedures, contracts - the same principle works: process the documents properly, search them well, and give answers that account for themselves with sources.

Built with

PythonFastAPIAzure AI SearchAzure OpenAISQL Server

Get in touch

Curious what this does with your documents?

A half-hour demo says more than this entire site. Pick whichever channel suits you best - you always get Bas himself.

Pick a time now

Half an hour, over Google Meet. No back and forth by email.

fetching the calendar...

Book a demo

Send an email and you get a proposed time within one working day.

[email protected]

Send a message

Short question? Message me; the answer comes from Bas personally.

Call me back