Beschikbaar voor nieuwe opdrachten per september 2026 Neem contact op →
Eigen R&D-project — geen klantopdracht

Case: een AI-gedreven kennissysteem

Om de AI-verdieping uit mijn sabbatical concreet te maken bouwde ik een persoonlijk kennis- en productiviteitssysteem in .NET. Gesproken notities en taken gaan zonder handwerk de kennisgraaf in: lokaal getranscribeerd, gestructureerd geëxtraheerd en automatisch gerelateerd aan bestaande kennis.

Hoe het werkt

Architectuur van het kennissysteem: audio-opname gaat via lokale Whisper-transcriptie naar LLM-extractie met structured output; het resultaat vult properties in de kennisgraaf en vector search legt relaties met bestaande kennis. Audio-opname gesproken notitie of taak (push-to-talk) Whisper — speech-to-text draait lokaal: audio verlaat het apparaat niet LLM-extractie structured output: tekst → getypte, gevalideerde data Properties vullen entiteiten (taken, notities, personen) in de kennisgraaf Vector search vindt verwante kennis en stelt relaties voor
De capture-pipeline van het kennissysteem: van gesproken invoer naar gestructureerde, gerelateerde kennis — zonder dat audio het apparaat verlaat.

Een gesproken notitie ("bel Jan morgen om één uur over het contract") wordt lokaal door OpenAI Whisper getranscribeerd — audio verlaat het apparaat niet. Een LLM-call met structured output zet de tekst om naar getypte data: entiteitstype, titel, datum/tijd, betrokken personen. Die data vult properties in een kennisgraaf van taken, notities, personen en projecten. Vector search zoekt vervolgens semantisch verwante entiteiten en stelt relaties voor — zodat de taak vanzelf aan de juiste persoon en het juiste project hangt.

Voor classificatietaken draait BERT naast de LLM-calls: waar een vraag vaak terugkomt, is een klein lokaal model goedkoper, sneller en consistenter dan elke keer een LLM aanroepen.

Het systeem in beeld

Screenshot van het kennissysteem: een taak 'Call met Jan' met datum, bron-audio, relaties naar een persoon en voorgestelde links
Een via spraak vastgelegde taak: properties gevuld uit LLM-extractie, de bron-audio als verwijzing, en relaties naar personen in de graaf. Screenshot met dummy-content.

Architectuurkeuzes

Lokale transcriptie

Whisper draait lokaal in plaats van via een cloud-API: persoonlijke audio is precies het soort data dat je niet wilt laten uitwaaien. Dezelfde afweging speelt bij elke enterprise-integratie.

Structured output, robuust

LLM-antwoorden worden afgedwongen en gevalideerd als getypte data — geen vrije tekst parsen en hopen. Fouten leiden tot herstel of afwijzing, niet tot vervuilde data.

BERT naast LLM

Niet elke AI-taak verdient een LLM. Terugkerende classificatie draait op een klein BERT-model: lagere kosten, lagere latency en voorspelbaarder gedrag.

Gebouwd met AI-tooling

Ontwikkeld in combinatie met Copilot en Claude — het project is daarmee ook een dagelijkse oefening in AI-ondersteund bouwen met bewaakte architectuur.

Wat dit wel en niet bewijst

Dit is een persoonlijk R&D-project: geen klantopdracht, geen productie-load, geen team eromheen. Wat het wél laat zien: de volledige LLM-pipeline — van onbetrouwbare invoer naar gestructureerde, gerelateerde data — werkend gebouwd in .NET, met dezelfde afwegingen (privacy, kosten, robuustheid) die bij enterprise-integraties spelen. Een publiek demo-project in modern .NET, gericht op agentic workflows, is in ontwikkeling.