Projecten

Wat ik heb gebouwd
en waarom

Geen portfolio met screenshots zonder context. Per project: welk probleem er lag, wat ik heb gebouwd en wat het oplevert.

Bespreek uw situatie
Project 01
AI-automatisering

Automatische factuurverwerking

Het probleem

Facturen kwamen binnen via e-mail en moesten vervolgens handmatig worden overgenomen in de administratie: leverancier, bedrag, factuurnummer, alles met de hand ingevoerd. Bij een groeiend volume kost dat steeds meer tijd, en elke handmatige overname is een kans op een fout.

Wat ik heb gebouwd

Een systeem dat automatisch facturen ophaalt uit een aangewezen mailbox, met AI de relevante gegevens uit de factuur extraheert, en dit gestructureerd wegschrijft naar de administratie. Toegang is beveiligd via Microsoft Entra ID, zodat alleen bevoegde medewerkers de gegevens kunnen inzien of aanpassen.

Naast de AI controleren vaste regels of de gelezen waarden kloppen: IBAN-checksum, btw-totalen en datums. Faalt een controle, dan leest een zwaarder AI-model de factuur opnieuw. Elke nieuwe versie wordt getoetst op een vaste testset van 230 facturen, waaronder 80 bekende lastige gevallen. De betaalstatus wordt automatisch bijgewerkt vanuit de boekhouding, en facturen met een afwijkend IBAN of een uitzonderlijk hoog bedrag gaan direct naar het management.

Resultaat

Minder handmatig overtypen, minder kans op fouten, en sneller inzicht in openstaande facturen zonder dat iemand een mailbox hoeft door te spitten. Na optimalisatie verwerkt het systeem een factuur in zo'n 0,84 seconde, waar dat eerst 33 tot 48 seconden was.

Azure Functions Microsoft Graph API AI-tekstextractie Claude (Anthropic) Microsoft Entra ID SharePoint React / TypeScript
In het kort
Facturen worden automatisch opgehaald uit de mailbox
AI leest bedrag, leverancier en factuurnummer uit
Van 33–48 seconden naar 0,84 seconde per factuur
Controle op 2.182 facturen spoorde 103 foutieve IBANs op
Beveiligd met Microsoft Entra ID-authenticatie
In productie
Project 02
Digitalisering

Digitale urenregistratie

Het probleem

Medewerkers registreerden hun uren op papieren werkbonnen of in losse Excel-bestanden. Dat is foutgevoelig, lastig te controleren, en het kost veel tijd om alles handmatig te verzamelen en te verwerken richting facturatie en administratie.

Wat ik heb gebouwd

Een Progressive Web App waarmee medewerkers dagelijks hun uren digitaal registreren, inclusief projectverdeling en uursoortcodes. Voor het management is er een dashboard met een live weekoverzicht per medewerker, zodat er direct inzicht is zonder losse spreadsheets bij elkaar te zoeken.

Leidinggevenden keuren weken goed of af in de app, met een volledige audit trail van correcties. Monteurs hebben hun eigen werkbonflow. Volledig goedgekeurde weken gaan automatisch als XML-bestand naar de salarisadministratie, zodat niemand de uren nog hoeft over te typen.

Resultaat

Geen papieren werkbonnen meer, minder fouten in de urenadministratie, en een management dat in één oogopslag ziet wat er speelt.

React / TypeScript Vite Progressive Web App Azure Functions SharePoint / Graph API Microsoft Entra ID
In het kort
Uren registreren via een app, geen papier meer
Automatische projectverdeling en uursoortcodes
Goedkeuringsflow met volledige audit trail
Goedgekeurde uren automatisch naar de salarisadministratie
Live weekoverzicht per medewerker voor management
Bedrijfsbreed uitgerold, voor zo'n 70 medewerkers
In productie
Project 03
Automatisering

Microsoft 365 inrichten en automatiseren

Het probleem

Microsoft 365 was aanwezig binnen de organisatie, maar werd nauwelijks benut. Informatie stond verspreid over e-mail, losse bestanden en systemen die niet met elkaar praatten. Veel terugkerend werk gebeurde nog handmatig.

Wat ik heb gebouwd

Een volledige inrichting en automatisering van het Microsoft 365-platform: kalenderautomatisering via de Graph API, Power Automate-flows voor terugkerende processen, en SharePoint ingericht als centrale kennisbasis voor het hele team.

Resultaat

Minder handmatig werk, betere informatiedeling tussen medewerkers, en een technische basis waarop de uren- en factuurapp konden worden gebouwd.

Microsoft 365 Power Automate SharePoint Microsoft Graph API
In het kort
Kalenderautomatisering via de Graph API
Power Automate-flows voor terugkerende processen
SharePoint als centrale kennisbasis
Basis voor verdere automatisering binnen de organisatie
In productie
Project 04
AI-automatisering

Telefonie-dashboard met AI-transcriptie

Het probleem

Er was geen overzicht van gemiste oproepen en belgeschiedenis. Terugbelverzoeken gingen via briefjes of losse mailtjes, en wat er in een telefoongesprek was afgesproken, was achteraf niet meer terug te vinden.

Wat ik heb gebouwd

Een dashboard bovenop de 3CX-telefooncentrale met belgeschiedenis, terugbelverzoeken en statistieken. Doorverbonden gesprekken worden als één keten getoond in plaats van als losse regels.

Opgenomen gesprekken worden automatisch omgezet naar tekst met Azure Speech-to-Text, met scheiding tussen medewerker en beller en een eigen woordenlijst voor vakjargon en plaatsnamen. Daarna maakt Claude van elk gesprek een gestructureerde samenvatting: klant, onderwerp, actiepunt en prioriteit.

Resultaat

Terugbelverzoeken op één centrale plek, gesprekken die achteraf doorzoekbaar zijn, en direct inzicht in de bereikbaarheid voor het management.

React / TypeScript Azure Static Web Apps Azure Functions Azure Speech Services Claude (Anthropic) 3CX API Microsoft Graph API Microsoft Entra ID
In het kort
Belgeschiedenis, gemiste oproepen en statistieken in één dashboard
Terugbelverzoeken centraal vastgelegd in SharePoint
Automatische transcriptie met sprekerscheiding
AI-samenvatting per gesprek: klant, onderwerp, actie, prioriteit
In productie
Project 05
Data-integratie

Wettelijke rapportage van luchtwassers aan de Vlaamse overheid

Het probleem

Sinds 2026 moeten Vlaamse veehouders met een luchtwasser hun meetgegevens elektronisch aanleveren bij ARMOS, het meetportaal van de Vlaamse overheid. Het bedrijf levert die gegevens aan namens zijn klanten. Zonder werkende koppeling voldoen de klanten niet aan hun vergunning, en de deadline ligt hard op 31 december 2026.

Wat ik heb gebouwd

Een pipeline die elk uur de meetdata van de luchtwassers ophaalt via IXON Cloud, per machine vertaalt naar het ARMOS-formaat en vijf jaar bewaart in Azure SQL, zoals de wet vereist. Berichten gaan via een beveiligde mTLS-verbinding naar ARMOS. De verzendwachtrij herhaalt mislukte pogingen automatisch en dient tegelijk als bewijs van wat er wanneer is aangeleverd.

Of een machine in Vlaanderen staat, bepaalt de code zelf op basis van de postcode, zodat er nooit per ongeluk data van andere klanten wordt verstuurd. Een statuspagina toont het hele machinepark op een kaart, met de dekking per uur en een audit log.

Resultaat

Een koppeling die meegroeit van de huidige klanten naar ruim duizend, voor zo'n €13 per maand aan databasekosten, met 489 geautomatiseerde tests als vangnet bij elke wijziging.

Python Azure Functions Azure SQL Flask Leaflet mTLS Microsoft Entra ID pytest
In het kort
275 IXON-verbindingen geïnventariseerd en op locatie geclassificeerd
Vijf jaar wettelijke bewaarplicht geborgd in Azure SQL
Ontworpen voor zo'n 60 miljoen metingen per jaar
489 geautomatiseerde tests, databasekosten circa €13 per maand
Pilot: pipeline live sinds oktober 2026, eerste aanlevering aan ARMOS volgt
Project 06
AI-automatisering

Kennisbank die zichzelf bijwerkt, met AI-assistent

Het probleem

Kennis over systemen en werkprocessen stond verspreid over mailtjes, losse documenten en hoofden. Vragen over de apps kwamen steeds bij dezelfde persoon terecht, en documentatie die er wél was, raakte verouderd zodra er iets aan de software veranderde.

Wat ik heb gebouwd

Een interne kennisbank met handleidingen, werkprocessen en systeemdocumentatie, alleen toegankelijk voor medewerkers via Microsoft Entra ID. Dagelijks kijkt Claude welke code er is gewijzigd en stelt de bijbehorende documentatie-updates voor. Na een automatische controle worden die doorgevoerd.

Op de pagina's staat een AI-assistent die vragen beantwoordt op basis van de inhoud: in gewone taal voor collega's, technisch voor de ontwikkelaar. Welke modus iemand krijgt, volgt uit het account waarmee diegene inlogt.

Resultaat

Documentatie die meegroeit met de software in plaats van achterloopt, en collega's die zelf antwoord vinden zonder de ontwikkelaar te hoeven storen. Dankzij prompt caching kost een vraag ongeveer een cent.

React / TypeScript Vite Azure Static Web Apps Azure Functions Claude (Anthropic) GitHub Actions Microsoft Entra ID
In het kort
Documentatie bijgewerkt via dagelijkse AI-voorstellen op basis van codewijzigingen
AI-assistent die antwoordt vanuit de pagina-inhoud
Gewone taal of technisch, afhankelijk van de gebruiker
Ongeveer €0,01 per vraag dankzij prompt caching
In productie
Kleiner werk

Kleinere projecten

Niet elk project hoeft groot te zijn. Deze tools lossen een concreet, dagelijks probleem op.

Dashboard

Aanwezigheidsdashboard

Wie is er vandaag beschikbaar, in een afspraak of afwezig? Het dashboard leest Outlook-agenda's en afwezigheidsmeldingen uit via Microsoft Graph en toont per medewerker de status, met zoeken, favorieten en eigen groepen. Een aparte wallboard-weergave is gemaakt voor een tv-scherm op kantoor.

React Microsoft Graph API Azure Static Web Apps
Automatisering

Wekelijkse urenmail

Een aanvulling op de urenapp. Het management krijgt elke week een teamoverzicht met ingeleverde en openstaande weken, en medewerkers met openstaande of afgekeurde weken krijgen een persoonlijke herinnering. Verzenddag en -tijd zijn vanuit de app in te stellen.

Azure Functions Microsoft Graph API TypeScript
Samenwerken?

Heeft u een vergelijkbare uitdaging?

Ik bespreek graag vrijblijvend hoe ik dit voor uw organisatie kan aanpakken. Geen verplichtingen, geen standaardpraatje.

Gesprek inplannen