GenAI-powered virtual assistant for citizen services
Stad Kortrijk's website held thousands of pages of public information, but citizens still called or queued for answers that were already published online. We built an AI-powered virtual assistant that answers citizen questions in plain Dutch, 24/7, drawing directly from the city's own content. It was the first GenAI chatbot on a Flemish municipal website.
%20Toerisme%20Leiestreek%20vzw.jpg)


A city with digital ambition and a practical problem
Kortrijk had invested in its digital infrastructure. A well-maintained Drupal website, citizen portals, links to Flemish government services. But the fundamental citizen experience had not changed: residents still searched, scrolled, and more often than not, picked up the phone. The city's contact centre handled a high volume of questions that already had answers somewhere on the website. Opening hours, permit procedures, waste collection schedules, event information. All published. All hard to find if you did not already know where to look.
What the city actually needed
What the city needed was a virtual assistant that could understand natural-language questions in Dutch, find relevant answers from its own content, and guide citizens to the right outcome without requiring them to navigate the site at all.
What made this harder than it sounds
Two constraints shaped the approach from the start.
CMS lock-in and the limits of keyword search
The content lived in Drupal. Any solution needed to plug into the city's existing CMS without requiring a parallel content management workflow. And the assistant had to go beyond keyword matching. Citizens do not ask questions the way a search engine expects them to. 'When is city hall open?' and 'Can I go to the municipality tomorrow?' are the same question, but a traditional search treats them as entirely different queries.
The trust bar for government content
Then there was the constraint that matters most in government: trust. Answers had to be accurate, traceable, and grounded in the city's own published content. Hallucinated responses were not an option. We scoped the project together with Kortrijk's team around that principle from day one.

Conversational AI meets semantic search
We built a virtual assistant that combines conversational AI with hybrid search, merging keyword-based retrieval with semantic search technology. The system indexes the city's web content and documents, then uses Azure AI Services to interpret the intent behind a citizen's question and surface the most relevant answer.
Intent over keywords
When someone asks a question, the assistant does not match words. It interprets meaning, retrieves the best-matching content from indexed sources, and generates a concise answer with a direct link to the source page. Every response is grounded in published content.
Built into Drupal, not bolted on
The assistant was built as a custom Drupal module, integrated directly into the city's existing website. It appears as a chat interface and as a semantic search layer on the search page, replacing the standard Drupal search with something that actually understands what people are asking. One codebase, one set of content, no parallel systems to maintain.
Expanding across the city's digital services
The core system does two things. It handles citizen questions through a conversational chat interface, and it replaces the default Drupal site search with a semantic search layer that returns AI-generated answers alongside traditional page results. Both draw from the same indexed content. Both stay current without manual intervention.
Deeplink integrations and personalisation
Tourism content from a separate domain was integrated into the main search. Deeplink integrations with eGovFlow now route citizens straight into municipal e-services: appointment booking, permit applications, complaint forms.
From page retrieval to generated answers
Early versions used pure semantic matching to retrieve relevant pages. Later iterations introduced OpenAI-powered response generation: the model reads the retrieved content and composes a direct answer. We regularly benchmark newer model versions against accuracy and cost, upgrading when the numbers justify it.
Analytics dashboard
A PowerBI dashboard gives the city's team visibility into what citizens are actually asking, where the assistant performs well, and where content gaps remain.
What Kortrijk can do now
Kortrijk was the first city in Flanders to deploy a GenAI-powered virtual assistant on its municipal website. VRT NWS covered the launch. Citizens ask questions in plain Dutch and get direct, sourced answers. Around the clock. The assistant handles queries about waste collection, permits, opening hours, event information, and dozens of other topics that previously required a phone call or a visit to the contact centre. Because everything runs through Drupal, the editorial team maintains one set of content. When a page is updated, the assistant's answers update with it. No drift between what the website and what the bot says.



