AI Assessment Engine
Mathijs Bronsdijk built an AI-powered assessment report system for an executive search firm. The system processes ~10 assessment input files per candidate through a 4-phase AI pipeline and writes human-quality reports trained on real consultant work, reducing report writing from a full day to under 5 minutes. Runs on a serverless stack with Next.js, Python, and PostgreSQL.
Een AI-systeem dat assessment rapporten schrijft op het niveau van een senior consultant. Gebouwd voor een executive search bureau. De consultant uploadt de bronbestanden, drukt op start, en heeft vijf minuten later een rapport klaarstaan dat voorheen een halve tot hele dag werk was.
~10
Bronbestanden
4
Pipeline Fases
5 min
Per Rapport
NL + EN
Taalondersteuning
Van een dag schrijfwerk naar vijf minuten
Bij een executive search assessment komt veel kijken. Interviews, persoonlijkheidstests, competentieanalyses, observaties. Allemaal bronnen die samen een beeld vormen van een kandidaat. Van al die input een rapport schrijven dat recht doet aan de persoon kost tijd. Een consultant is daar al snel een halve tot hele dag mee bezig.
De uitdaging zat niet in het samenvatten van data. Dat kan elke AI. Het ging erom dat het rapport leest alsof een ervaren consultant het heeft geschreven. Met gevoel voor de persoon, op het niveau dat je verwacht in executive search. En dat het veilig omgaat met gevoelige persoonsgegevens.
Daarom: een op maat gebouwd systeem. Tien bronbestanden erin, vijf minuten later een rapport eruit in de huisstijl van het bureau. De consultant leest het nog na, voegt eventueel een eigen nuance toe, en stuurt het door. Wat een dag kostte, kost nu een koffiepauze.
Van bestanden tot rapport in 4 fases
Extract
De consultant vult een formulier in met de basisgegevens van het assessment en uploadt alle bronbestanden, vaak zo'n tien stuks. PDF's, Word-documenten, PowerPoints en tekstbestanden gaan elk door een eigen parser. Welk type het is wordt automatisch herkend aan de bestandsnaam.
Parse
Claude Haiku leest alle bronbestanden en haalt daar de gestructureerde data uit: scores, competenties, observaties en profielgegevens. Een regex fallback vangt edge cases op die het model mist. Competenties worden automatisch herkend en gematcht aan het verwachte framework.
Generate
Hier zit het verschil. Claude Sonnet schrijft de rapportsecties op basis van geanonimiseerde voorbeelden van echte rapporten. Het model leert daaruit hoe een consultant schrijft: de toon, de nuance, het gevoel dat erbij hoort. Secties bouwen op elkaar voort. De samenvatting verwijst naar de competentie-analyse, aanbevelingen naar specifieke scores.
Assemble
De gegenereerde secties worden samengevoegd in een PowerPoint in de huisstijl van de klant. PowerPoint bewust, zodat de consultant het rapport nog kan nalezen en eigen nuances kan toevoegen voordat het naar de opdrachtgever gaat. Na verwerking worden alle inputbestanden automatisch verwijderd uit de opslag.
6 componenten
Van bestandsdetectie tot rapport output.
Bestandsparsers
Aparte parsers voor PDF, DOCX, PPTX en TXT. Scorekaarten hebben een andere structuur dan interviewverslagen, dus elk type krijgt een eigen aanpak.
PythonAutodetectie
Herkent automatisch welk type assessment document het is op basis van de bestandsnaam. Geen handmatige selectie nodig bij het uploaden.
Pattern MatchingAI Lezer
Leest ongestructureerde tekst en haalt daar scores, competenties en observaties uit. Met een fallback-laag voor documenten met een ongebruikelijke structuur.
Claude Haiku 4.5Competentie Extractor
Herkent competenties uit bronbestanden en matcht ze aan het verwachte framework. Werkt onafhankelijk van hoe competenties in de verschillende documenten zijn geformuleerd.
Python + AIRapport Generator
Schrijft de rapportsecties met echte rapporten als referentie. Secties bouwen op elkaar voort, zodat het geheel leest als een rapport van een consultant, niet als een samenvatting door een machine.
Claude Sonnet 4.6Rapport Assembler
Voegt alle secties samen in een PowerPoint in de huisstijl van de klant. De consultant kan het rapport nalezen en aanpassen voordat het wordt verstuurd.
python-pptxWaar het op draait
Frontend
Next.js op Vercel
De interface waar de consultant het formulier invult, bestanden uploadt en het rapport downloadt wanneer het klaar is.
Backend
Modal (serverless Python)
De volledige verwerkingspipeline draait serverless op Modal. Schaalt automatisch en betaalt alleen voor daadwerkelijk gebruik.
AI Models
Claude Sonnet 4.6 + Haiku 4.5
Sonnet (temperature 0.4) voor rapportgeneratie met few-shot voorbeelden. Haiku voor snelle parsing van inputbestanden. Lage temperature voor consistente, professionele output.
Database
Neon PostgreSQL
Serverless PostgreSQL voor gebruikersbeheer, rapportstatus en verwerkte data. Past bij de volledig serverless architectuur.
Storage
Vercel Blob
Tijdelijke opslag voor de uploads. Alles wordt automatisch verwijderd na verwerking. Bij persoonsgegevens van kandidaten wil je dat.
Document Processing
pdfplumber, python-docx, python-pptx
Elk bestandstype heeft een eigen Python library. Werkt beter dan generieke parsers omdat assessment documenten een specifieke structuur hebben.
Security
HMAC cookies + rate limiting
HMAC-signed cookies voor sessies, rate-limited login om brute force te voorkomen, en webhook verificatie voor veilige communicatie tussen frontend en backend.
Wat het oplevert
Halve dag → 5 min
Tijdsbesparing per rapport
Wat voorheen een halve tot hele dag schrijfwerk was, levert het systeem in vijf minuten op. De consultant hoeft alleen nog na te lezen en eventueel bij te schaven.
Consulentniveau
Schrijfkwaliteit
Getraind op echte rapporten van ervaren consultants. Het systeem schrijft met nuance en gevoel voor de persoon, niet als een samenvatting maar als een assessment.
~10 bestanden
Input per assessment
Interviews, persoonlijkheidstests, competentieanalyses, observaties. Alles wordt verwerkt en samengebracht in één rapport.
Productie
Gebouwd voor een executive search bureau
Draait in productie met authenticatie, versleutelde sessies en automatische opschoning van gevoelige data na verwerking.
Wat ik hiervan leerde
AI leren schrijven op consulentniveau kost afstemming
Je gooit er niet zomaar data in en krijgt een goed rapport terug. Het model moest leren hoe een senior consultant schrijft: met gevoel voor de persoon, met nuance, op het niveau dat je verwacht bij executive search. Dat betekende echte rapporten als referentie, sectie voor sectie werken in plaats van alles in één keer, en per onderdeel andere voorbeelden. De samenvatting vraagt een andere toon dan de competentie-analyse. Dat afstemmen was het meeste werk, en leverde het meeste op.
Goede extractie bepaalt de output
Het maakt niet uit hoe goed je AI schrijft als de input niet klopt. Tien verschillende bestanden, elk in een ander format, met scores die er net anders uitzien. Dat eerst goed gestructureerd krijgen was meer werk dan verwacht. Maar zonder schone data schrijft het model mooie zinnen over verkeerde cijfers.
Persoonsdata vraagt om een veilige, schaalbare omgeving
Je werkt met assessment data van kandidaten. Dat moet veilig. Bestanden worden verwijderd na verwerking, sessies zijn versleuteld, en de backend draait serverless zodat er niks online staat als het niet nodig is. Die serverless aanpak helpt ook met kosten: nul gebruik, nul kosten. En als er meerdere assessments tegelijk binnenkomen, schaalt het automatisch op.

Mathijs Bronsdijk
AI Agent & Automation Expert
Bouwt AI agents, agentic workflows en autonome AI-systemen. Helpt bedrijven met AI-strategie en implementatie via MBWorkers.