Ga naar inhoud
In ontwikkeling software

Yara

Een WhatsApp-first begeleidingsassistent voor nieuwkomers in Nederland. Gebouwd door PF Design Labs voor de gemeente Den Haag.

De Uitdaging

De gemeente Den Haag zoekt een slimme digitale buddy die nieuwkomers wegwijs maakt in regels, rechten en verplichtingen. Ze noemen het SchuldenBuddy, een Startup in Residence-programma.

Yara is onze inzending.

Het Probleem

Stel je voor: je bent net aangekomen in Nederland. Je spreekt de taal nog niet goed. En je krijgt een onbegrijpelijke brief van de IND, en nu?

Nieuwkomers wennen aan een volledig nieuwe realiteit en moeten tegelijk hun weg zien te vinden door overheidsinstanties, hulpinstanties, formulieren en deadlines, in een taal die ze nog leren. Brieven blijven onbeantwoord. Deadlines worden gemist. Rechten worden niet benut. Plichten worden niet vervuld. Problemen stapelen zich op.

Voor instanties is het niet minder ingewikkeld. Medewerkers zijn overbelast. Niet iedereen bereiken is onmogelijk. En wie niet bereikt wordt, valt buiten beeld.

Het Concept

De centrale gedachte is een systeem dat flexibel genoeg is om een groot deel van wat nieuwkomers dagelijks tegenkomen te ondersteunen. Een brief lezen en uitleggen is het meest voor de hand liggende voorbeeld. Maar stel je voor: een workflow die iemand helpt een persoonlijk actieplan op te stellen, stap voor stap, met reminders voor wat er nog openstaat. Nieuw domein, nieuwe workflow, hetzelfde fundament. Het groeit mee en helpt je onderweg.

Wat is Yara?

Yara is het resultaat van een week bouwen. We hebben één van de flows uit het concept uitgewerkt om te kijken of het werkt: de documentworkflow.

In de praktijk werkt het zo: stuur een foto of PDF van een brief, Yara leest hem, snapt wat er gevraagd wordt en vertelt je wat je moet doen. Relevante informatie of de juiste hulp krijg je direct meegestuurd. Is er een deadline, dan herinnert Yara je er op tijd aan.

Het is een bewijs dat de architectuur werkt. En een startpunt. Dezelfde opzet maakt het mogelijk om later nieuwe modules toe te voegen: persoonlijke actieplannen, schuldbegeleiding, andere domeinen waar ondersteuning nodig is.

Onder de Motorkap

Stack: Python · FastAPI · PostgreSQL · LangGraph · LLM · Twilio · Docker

Waarom WhatsApp en geen app? Omdat mensen het al hebben, er vertrouwd mee zijn en de adoptie enorm hoog is. In de taal die ze kennen, in een omgeving waar ze zich veilig voelen. Een app kan altijd nog. Je begint het beste waar mensen al zijn.

Een binnenkomend WhatsApp-bericht gaat via Twilio naar een FastAPI-webhook. Twilio regelt de media-afhandeling: foto’s en PDF’s worden genormaliseerd voordat ze de app in komen. FastAPI is gekozen vanwege de snelheid en eenvoud, ideaal voor een webhook die zo min mogelijk in de weg zit.

Het bericht gaat dan naar LangGraph. Waarom LangGraph en niet een gewone chatbot? Omdat een gesprek over meerdere berichten heen state moet bijhouden, en omdat je wilt kunnen routeren naar gespecialiseerde handlers. Yara heeft drie nodes: een intake die context verzamelt en de gebruiker leert kennen, een document helper die brieven ontleedt via een LLM, documenttype herkent, urgentie inschat en deadlines extraheert, en een chatnode voor algemene vragen. Een router beslist per bericht welke node aan zet is. Elke node heeft zijn eigen systeemprompt en toolset.

Die tools zijn het interessantste deel. De document helper geeft de LLM echte acties: een deadline extracten en opslaan, een herinnering inplannen, een concept-reactie opstellen. Die acties gaan als gestructureerde records de PostgreSQL-database in. PostgreSQL is gekozen omdat de data echt relationeel is: berichten horen bij gebruikers, acties horen bij documenten, reminders horen bij acties.

APScheduler draait als achtergrondproces en controleert elke minuut of er reminders verstuurd moeten worden. Docker zorgt dat het overal draait.

Open Source

Yara is open source. Je kunt alles zien, ben je benieuwd geworden naar de code?

Klik op de GitHub link hieronder.

GitHub

Probeer het

Yara draait live op de Twilio WhatsApp Sandbox. Open de betapagina om een gesprek te starten of toegang te delen met testers.