Phonebox
Hoe KU Leuven hun AI-insectendetectie van labo naar veld bracht
Vraag
Het team achter MeBioS aan KU Leuven had iets gebouwd waar ze terecht trots op waren: een AI-model dat insecten op lijmplaten in landbouwpercelen herkent en classificeert. Bladluizen, trips, de witloofmineervlieg, koolvliegen — veertien soorten in totaal. Het model pikte ze op. De wetenschap klopte. De software eromheen veel minder.
Hun bestaande tool was een Streamlit-prototype op AWS. Goed genoeg om in het labo resultaten uit te draaien, maar niet om uit te rollen naar telers en onderzoekscentra.
Geen rollen of eenvoudig toegangsbeheer, dus iedereen zag alles. Niet makkelijk bruikbaar op een smartphone, terwijl telers net in het veld staan wanneer ze het nodig hebben. AWS-kosten die opliepen zonder dat het gebruik dat rechtvaardigde. En bij elke aanpassing moest technisch personeel handmatig ingrijpen.
MeBioS wilde meer. Landbouwbedrijven en telers over heel Vlaanderen moesten toegang kunnen krijgen tot hun technologie. Het AI-model moest het labo uit.
Ze klopten bij ons aan met een heldere vraag: bouw een professionele webapplicatie rond ons model.
Aanpak
We zijn niet meteen beginnen bouwen. Samen met Frank van MeBioS hebben we de eerste weken het domein grondig doorgewerkt. Hoe werken lijmplaten? Wat is een meetmoment precies? Welke insecten zijn relevant bij welk gewas? Hoe verhouden onderzoekscentra zich tot landbouwbedrijven en individuele telers?
Dat leverde een domeinmodel op dat verrassend complex bleek: bedrijven die percelen beheren, percelen gekoppeld aan gewassen en target-insecten, meetmomenten met meerdere foto's per plaat, en een volledige AI-verwerkingsketen daarachter. Zonder dat voorwerk hadden we halverwege opnieuw moeten beginnen.
Van organisatie tot insectendetectie
Twee lagen: wie beheert de data en wat gebeurt er tijdens een meting?

Het inzicht: ontkoppel het model van de infrastructuur
Vrij snel werd duidelijk dat we het bestaande Python-model niet moesten herschrijven of aanpassen. We moesten het inpakken.
Het ML-model van MeBioS werkte. Research code, niet productie-ready, maar de detectie zelf was solide. We hoefden geen beter model te bouwen. We moesten zorgen dat 50 gebruikers tegelijk foto's konden uploaden zonder dat iemand een server draaide.
Serverless containers op Scaleway bleken de juiste fit. Het bestaande Python-model draait ongewijzigd in een Docker-container. Een Supabase edge function triggert die container zodra een gebruiker foto's uploadt. De container downloadt de foto's uit object storage, draait de detectie, uploadt de resultaten, en rapporteert via callbacks realtime progressie terug naar de webapp. Detecties landen in de database met bounding boxes, zekerheidsscores en uitsnedes per insect.
Geen eigen servers. De pipeline schaalt mee en staat stil als er niks te doen is. Voor een onderzoeksinstelling is dat precies goed: je betaalt voor wat je gebruikt.
Drie paden, één realtime resultaat
Upload, verwerking en terugkoppeling lopen apart. Er is geen vaste applicatieserver.

Van labo-tool naar veld-app
De frontend bouwden we als een client-side React-applicatie met Supabase als backend. Geen custom server nodig. Deployment via Cloudflare Pages, en de architectuur is zo opgezet dat KU Leuven het op termijn zelf kan hosten op hun eigen GitLab Pages.
Het dashboard toont recente metingen en trendlijnen per insectsoort, met waarschuwingen als drempelwaardes overschreden worden. Foto-upload werkt op mobiel, zodat telers in het veld direct aan de slag kunnen. Na verwerking toont de app bounding boxes op de foto met zekerheidsscores. Onderzoekers kunnen via een annotatie-interface resultaten verifiëren of corrigeren. Die validaties helpen op termijn ook om het model zelf beter te maken.
Onderzoekscentra beheren bedrijven en gebruikers, admins hun eigen team, telers zien hun eigen metingen en rapporten. Insectnamen en gewassen zijn drietalig (Nederlands, Engels, Frans). Alles is exporteerbaar naar CSV of Excel voor verdere analyse of publicatie.
Authenticatie gaat via magic links: een code via e-mail in plaats van wachtwoorden. Dat houdt de drempel laag voor telers die niet dagelijks met software werken.
Moeilijke foto's, eerlijke tijdsinschatting
Foto's van lijmplaten zijn groot. Soms meer dan 100 megabyte. Thumbnails genereren in de browser zonder de hele machine te laten vastlopen bleek een flinke klus. De oplossing: WebAssembly gecombineerd met canvas-rendering.
De keuze voor een client-side only architectuur bracht ook complexiteit mee bij authenticatie en Row Level Security. En het project heeft meer uren gekost dan oorspronkelijk ingeschat. Deels door die technische onverwachtheden, deels doordat de zomer voor een lossere werksfeer zorgde bij zowel ons team als de klant.
We hebben daar intern flink over nagedacht. Scherper afbakenen aan de start, en eerder aan de noodrem trekken als iets langer duurt dan verwacht.
Resultaat
Phonebox draait vandaag in productie en vervangt het Streamlit-prototype volledig.
Telers nemen in het veld foto's en bekijken binnen minuten hun resultaten. Onderzoekscentra krijgen overzicht over al hun aangesloten bedrijven en percelen. Als populaties de pan uit swingen, geeft het systeem automatisch waarschuwingen per insectsoort. En alles is exporteerbaar voor publicaties of beleidsrapporten.
Technisch draait er een serverless verwerkingspipeline onder, met Row Level Security zodat elk bedrijf enkel zijn eigen data ziet. KU Leuven kan de hele boel zelf hosten wanneer ze dat willen.
Het project zit nu in garantieperiode, met plannen voor bredere uitrol in Vlaanderen.