KiesChat: Chatten met verkiezingsprogramma’s 🇳🇱🤖

KiesChat.nl is een website waar je kunt chatten met de verkiezingsprogramma’s van politieke partijen.
Geen stapels PDF’s doorploegen, maar gewoon je vraag stellen en direct het antwoord uit de programma’s terugkrijgen.

Welke partijen zijn opgenomen?

Op dit moment zijn de verkiezingsprogramma’s van de volgende partijen opgenomen: BBB, CDA, ChristenUnie, GroenLinks-PvdA, D66, PvdD, PVV, SGP, SP, VVD, JA21, FVD, NSC, Volt en de Libertaire Partij. Je kan bij ieder antwoord doorkliken naar de authentieke versies van de programma’s.

Doorrekening Centraal Planbureau

Sinds vrijdag 10 oktober bevat KiesChat ook de hoofdlijnen van de doorrekening van het Centraal Planbureau (CPB). Bij relevante vragen over de financiën en effecten wordt het eerste hoofdstuk uit het CPB-rapport meegenomen.

Wat maakt KiesChat anders?

KiesChat verschilt van chatbots zoals ChatGPT doordat het alleen antwoorden geeft op basis van de verkiezingsprogramma’s zelf. Er wordt dus niets ‘verzonnen’ of ingevuld vanuit de algemene training van een taalmodel.

Ook zoekt KiesChat niet op het internet. Daarmee voorkomt het dat meningen, nieuwsartikelen of misinformatie uit willekeurige websites de antwoorden beïnvloeden. Alle antwoorden komen uitsluitend uit officiële partijprogramma’s, zodat je precies weet waar iets vandaan komt.

Werking

Achter de schermen werkt KiesChat met een slimme zoek- en antwoordmethode. Je vraag wordt eerst opgeschoond (bijvoorbeeld bij spelfouten of afkortingen). Vervolgens bepaalt een router wat voor soort vraag het is — bijvoorbeeld een vergelijking tussen partijen of een letterlijke zoekopdracht in één programma. Vervolgens haalt KiesChat alleen de relevante passages op uit de verkiezingsprogramma’s, die via de AI netjes tot een antwoord worden verwerkt.

Daarbij zorgt KiesChat ervoor dat alle partijen evenveel kans krijgen om vertegenwoordigd te worden in het antwoord, ook kleinere partijen of kortere programma’s. Zo blijven alle overzichten evenwichtig en eerlijk.

Om te laten zien hoe de AI tot een antwoord komt, bevat KiesChat bovendien een bijzondere functie: AI Transparency.

AI Transparency

In het chatvenster vind je de instelling AI Transparency. Hiermee krijg je een kijkje onder de motorkap en kun je de tussenstappen van KiesChat bekijken, zoals de exacte prompts die naar het AI-model worden gestuurd en de ruwe passages die als antwoord worden teruggegeven. Zo kun je zelf zien hoe de AI tot haar antwoord komt.

Zo kun je zelf controleren waarop een antwoord is gebaseerd, en leer je tegelijkertijd hoe dit soort AI-systemen werken. KiesChat wil hiermee bijdragen aan meer AI-geletterdheid en vertrouwen — iets wat hard nodig is in een tijd waarin kunstmatige intelligentie steeds vaker publieke informatie vormt.

Hoe werkt KiesChat technisch?

Onder de motorkap draait KiesChat op Chainlit als interface. Binnen de applicatie zorgt een AI-router voor de interpretatie van de gebruikersvraag en kiest het juiste type prompt. Vragen worden zo nodig eerst herschreven (bijvoorbeeld voor spelling of afkortingen), waarna de meest geschikte prompt wordt gekozen. Vervolgens wordt via de OpenAI API het antwoord gegenereerd, gebaseerd op de context uit de partijprogramma’s.

De partijprogramma’s zelf zijn opgeslagen in een embeddings database via Chroma, waardoor de AI relevante passages kan terugvinden.

Hoe bepaalt KiesChat het type antwoord?

Wanneer je een vraag stelt, probeert KiesChat eerst te begrijpen wat voor soort vraag het is. Daarvoor gebruikt de chatbot een speciaal AI-model (een zogenaamde router) die je vraag automatisch indeelt in één van de volgende antwoordmodi:

Partijgerichte vragen - strict_lookup – zoekt precies wat één partij zegt over een onderwerp. - related_parties – zoekt partijen die hetzelfde of juist het tegenovergestelde standpunt hebben als de genoemde partij(en).

Overzichts- en vergelijkingsvragen - overview – laat zien wat alle partijen over een onderwerp zeggen. - ranking – zet partijen op volgorde van hoe sterk ze iets steunen of benadrukken. - comparison – vergelijkt expliciet genoemde partijen over één onderwerp. - consensus – kijkt of partijen ergens over eens zijn. - absence – laat zien welke partijen niets zeggen over een onderwerp.

Thema- en contextgerichte vragen - election_info – beantwoordt feitelijke vragen over de verkiezingen zelf (data, stemmen, lijsttrekkers, enz.). - off_topic – herkent vragen die niets met de verkiezingen te maken hebben en helpt de gebruiker opnieuw beginnen.

Deze indeling bepaalt vervolgens hoe de context wordt opgehaald (welke fragmenten worden gezocht) en welke schrijfstijl het model gebruikt in het antwoord. Zo klinkt een vergelijking anders dan een overzicht, en blijft elk antwoord passend en evenwichtig.

Hoe worden de fragmenten opgehaald?

Wanneer je een vraag stelt, zoekt KiesChat niet in de volledige teksten, maar in een embeddings-database. Elke passage uit de partijprogramma’s is omgezet in een vector (een wiskundige representatie van betekenis) met behulp van het model text-embedding-3-large van OpenAI. Zo kan de AI niet alleen letterlijk zoeken op woorden, maar ook op betekenis.

Afhankelijk van je vraag kiest KiesChat een zoekstrategie: - Bij een vraag over één partij worden alleen relevante passages uit dat programma opgehaald.
- Bij vergelijkingsvragen verdeelt de tool de zoekruimte evenredig over de betrokken partijen.
- Bij overzichts- of rankingvragen worden resultaten uit meerdere partijen gecombineerd, zodat de antwoorden evenwichtig blijven.

KiesChat gebruikt hiervoor twee zoekmethoden: - Een similarity search, die de meest relevante fragmenten vindt op basis van betekenis. - En een Maximal Marginal Relevance (MMR)-methode, die voorkomt dat de opgehaalde fragmenten te veel op elkaar lijken. Daardoor krijg je geen herhaling, maar een breder en completer beeld van wat partijen zeggen.

Eerlijke verderling van fragmenten

Om eerlijkheid te waarborgen, krijgt elke partij een even grote kans om vertegenwoordigd te worden — ook wanneer een partij minder tekst heeft geschreven over het onderwerp. Zo wordt voorkomen dat grotere of uitgebreidere programma’s automatisch meer invloed hebben op het antwoord.

Daarna worden deze fragmenten doorgestuurd naar het taalmodel, dat ze samenvat en presenteert in het uiteindelijke antwoord. Zo blijft alles wat KiesChat zegt herleidbaar naar echte passages uit de programma’s.

Privacy & onafhankelijkheid

KiesChat heeft geen verdienmodel en verzamelt geen persoonlijke profielen. Je vragen worden niet gebruikt voor advertenties, profiling of retargeting, en hebben dus geen invloed op wat je elders op internet te zien krijgt: je krijgt later niet opeens een advertentie voor een prullenbak omdat je iets vroeg over handhaving over zwerfafval.

Zeker omdat politieke voorkeuren gevoelige persoonsgegevens zijn (GDPR), is er bewust gekozen om geen tracking of advertentiemodel in te bouwen.

Belangrijk: zoals bij veel online diensten kunnen logbestanden worden ingezien voor foutopsporing, analyse en kwaliteitsverbetering. Deel daarom geen persoonlijke of gevoelige informatie. De logbestanden worden na 45 dagen verwijderd en bevatten geen persoonsgegevens (zoals IP-addressen).

Vragen waarop KiesChat geen goed antwoord kan geven worden anoniem verzameld. Dit om KiesChat te verbeteren. Vragen die je deelt worden ook opgeslagen zodat de gedeelde link weer te koppelen is aan de oorspronkelijk vraagtekst.

Sharing: deel je vraag

Met het knopje ‘Deel je vraag’ bovenin kun je je vraag eenvoudig delen met anderen. Elke link opent direct jouw vraag en het antwoord in KiesChat. Doe bijvoorbeeld een snelle factcheck op een politiek statement of start een gesprek over een onderwerp met vrienden/familie ☺️ Voorbeeld: kieschat.nl/q/hoe-willen-partijen-de-zorg-betaalbaar-houden

Je kunt de link kopiëren en plakken waar je maar wilt. Ook zijn er handige deelknoppen voor X en WhatsApp, zodat je het gesprek makkelijk kunt starten.

Wanneer je een vraag deelt, wordt deze opgeslagen met een korte beschrijving, zodat zoekmachines de inhoud kunnen indexeren. Hierdoor kun je vragen terugvinden via Google, bijvoorbeeld “Wat zegt de VVD over klimaat?”. Voor privacy wordt alleen de openingsvraag opgeslagen, nooit een hele chatgeschiedenis.

Wie zit er achter KiesChat?

KiesChat is gemaakt door Joost Schuttelaar. Vragen of feedback? Neem contact op via joost@joostschuttelaar.nl of LinkedIn.
Volg updates en #buildinginpublic via x.com/jstsch. Feedback is zeer welkom! 🙌 De komende dagen wordt de tool verder verbeterd en uitgebouwd, dus laat me vooral je ervaringen weten!

⚠️ Let op: dit is een experiment. Antwoorden kunnen verkeerd zijn. Stuur geen vertrouwelijke informatie, want zoals bij alle online diensten… logbestanden kunnen worden ingezien.