Er wordt veel gepraat over AI en softwareontwikkeling. Vaak in abstracte termen: productiviteitswinst, de toekomst van programmeren, de dreiging voor developers. Minder vaak gaat het over hoe het er in de praktijk aan toe gaat. Over het uitproberen, vastlopen, wisselen van tools, en langzaam ontdekken wat werkt.

Bij WNK Data wordt sinds begin 2025 intensief gewerkt met AI-gestuurde ontwikkeling — beter bekend als vibe coding. Niet als experiment in de marge, maar als centrale werkwijze voor het bouwen van webapplicaties. De CV-builder die live draait op cv.wnkdata.nl is er volledig mee gebouwd. Dit artikel beschrijft wat vibe coding inhoudt, welke tools er zijn getest, en hoe de huidige setup tot stand is gekomen.

Wat is vibe coding

Vibe coding is een manier van softwareontwikkelen waarbij AI-assistenten een actieve rol spelen in het schrijven van code. De developer beschrijft in natuurlijke taal wat er moet gebeuren — een feature, een aanpassing, een bugfix — en de AI genereert de code. Maar het is geen kwestie van een prompt invoeren en klaar. De developer stuurt het proces: bepaalt de architectuur, bewaakt de kwaliteit, test het resultaat en grijpt in waar nodig.

Het verschil met traditioneel programmeren zit niet in wat er gebouwd wordt, maar in hoe het tot stand komt. De developer denkt minder in regels code en meer in richting en ontwerp. Het proces lijkt op samenwerken met een ervaren collega die razendsnel kan typen en een enorm geheugen heeft, maar die wel aangestuurd moet worden.

Het verschil met simpelweg "code laten genereren door AI" zit in de mate van integratie. Bij vibe coding werkt de AI mee binnen de ontwikkelomgeving, met toegang tot het volledige project. De AI kent de mapstructuur, leest bestaande code, begrijpt afhankelijkheden en werkt binnen die context. Dat is fundamenteel anders dan een chatvenster waar losse fragmenten in- en uitgeplakt worden.

Geteste AI-tools

De weg naar een werkende setup was geen rechte lijn. In de loop van het afgelopen jaar zijn uiteenlopende tools en platforms uitgetest:

  • Lokale LLM via Ollama (GLM 4 Flash)
  • Gemini CLI (Google)
  • Google AI Studio
  • ChatGPT (OpenAI)
  • Grok (xAI)
  • Claude Code (Anthropic)

Elk met eigen sterktes, elk met eigen beperkingen. Hieronder de eerlijke ervaringen.

Lokale LLM via Ollama

De eerste impuls was om een AI-model lokaal te draaien — onafhankelijk van cloud-diensten, volledig onder eigen beheer. De opzet: WSL (Windows Subsystem for Linux) met Ubuntu, Ollama als model-runtime, GLM 4 Flash als taalmodel, en de Continue-extensie in VS Code als interface. Om veilig verbinding te maken met de VPS werd een beveiligde tunnel opgezet.

Het werkt, tot op zekere hoogte. Voor kleine opdrachten — een functie reviewen, een stukje code uitleggen, een regex samenstellen — voldoet het prima. Maar zodra de schaal groter wordt, lopen lokale modellen tegen harde grenzen aan. Het contextvenster is beperkt, en bij een project van enige omvang past de codebase simpelweg niet in het geheugen van het model. Bovendien is de snelheid afhankelijk van de beschikbare hardware: processorgeheugen en videokaart bepalen wat mogelijk is.

Een lokale LLM is een assistent tijdens het coderen — handig voor gerichte vragen en kleine taken. Vibe coding is iets wezenlijk anders: een AI die met meerdere agents tegelijkertijd grote stukken werk kan verzetten.

Gemini CLI

Gemini CLI werd uitgeprobeerd op het moment dat Claude Pro tegen het weeklimiet aanliep. Het voordeel van een CLI-gebaseerde tool was aantrekkelijk: lokale historie, geen afhankelijkheid van een specifiek platform. Maar de ervaring viel tegen.

Bij het bouwen van een profielfoto-functionaliteit voor de CV-builder maakte Gemini CLI de bestaande layout volledig kapot. Preview en PDF-export kwamen niet meer overeen, teksten liepen door of verdwenen van pagina's. Het kernprobleem was niet alleen de AI — de fout was ook dat er geen git commit was gemaakt van de werkende staat voordat de nieuwe tool werd losgelaten op de codebase. Dat resulteerde in aanzienlijk tijdverlies om alles te herstellen.

De les was helder: meerdere AI-assistenten tegelijkertijd aan dezelfde codebase laten werken is riskant. Elke tool bouwt een eigen mentaal model op van het project. Wanneer een tweede AI halverwege instroomt zonder die context, ontstaan er conflicten die moeilijk te herleiden zijn.

Google AI Studio

Google AI Studio is getest als alternatief. Het werkt, en voor bepaalde taken voldoet het prima. Maar qua integratie met de ontwikkelomgeving en kwaliteit van de output haalt het niet het niveau dat nodig is voor serieuze projectontwikkeling.

ChatGPT

ChatGPT wordt inmiddels op een andere manier ingezet: niet voor het schrijven van code, maar voor het conceptueel meedenken. Het formuleren van ideeën, het scherp krijgen van prompts, het voorbereiden van context voordat het eigenlijke werk begint. Daar is ChatGPT sterk in, en het bespaart tokens bij de tool die het codeerwerk doet.

Grok

Grok wordt af en toe geraadpleegd voor specifieke technische vragen. Het denkt langer na en geeft doordachte antwoorden. Daarnaast wordt het ingezet voor creatief werk aan een bijproject — game sprites genereren, waar het verrassend goed in blijkt.

Huidige setup

Na het uitproberen en afvallen van diverse combinaties is er een setup ontstaan die stabiel en productief is. De kern bestaat uit twee tools met duidelijk gescheiden rollen.

ChatGPT wordt ingezet voor het denkwerk: formuleren, structureren, prompts verfijnen en context voorbereiden. Het is het voorportaal — de plek waar ideeën vorm krijgen voordat ze naar code vertaald worden.

Claude Code via de VS Code-extensie is het kernproces voor het daadwerkelijke coderen. De integratie met de IDE maakt het verschil: Claude Code werkt binnen dezelfde omgeving als de developer, ziet dezelfde bestanden, begrijpt de projectstructuur en kan zelfstandig doorwerken aan complexe taken.

De ontwikkelomgeving draait op een eigen VPS, benaderd via VS Code Remote SSH. Dat betekent dat alles — code, builds, git-historie — op de server leeft. Lokaal is er alleen de IDE-verbinding. Deze opzet biedt stabiliteit en voorkomt de "maar het werkt op mijn machine"-problematiek.

Wat Claude Code onderscheidt

Vier eigenschappen maken Claude Code bijzonder effectief als vibe coding-partner:

Autonomie. Claude Code leest en begrijpt het volledige project. Het hoeft niet bij elke vraag opnieuw uitgelegd te krijgen welke bestanden er zijn of hoe de architectuur in elkaar zit. Bij een opdracht als "voeg spellingscontrole toe aan de editor" doorloopt het zelfstandig de relevante componenten, bepaalt waar de logica thuishoort en implementeert de wijzigingen.

IDE-integratie. Doordat Claude Code binnen VS Code draait, is er geen context-switching. Geen kopiëren tussen vensters, geen plakken van code die net niet past. De AI en de developer kijken naar dezelfde codebase, in dezelfde omgeving.

Kwaliteit van de output. De architectuurkeuzes die Claude Code maakt zijn consistent beter dan bij andere geteste tools. Minder hallucinaties, betere naamgeving, doordachtere structuur. Het verschil is niet altijd groot per individuele wijziging, maar het cumulatieve effect over een heel project is aanzienlijk.

Meedenken en tegenspreken. Wat Claude Code onderscheidt van een passieve codeer-tool is dat het actief meedenkt. Het denkt aan ontwikkelstappen die de developer vergeet — tests draaien na een wijziging, een build controleren, edge cases afvangen. Maar het gaat verder dan dat: Claude Code stelt ook alternatieven voor wanneer het een meer praktische oplossing ziet, en spreekt tegen wanneer een aanpak onnodig complex is of risico's met zich meebrengt. Het voelt als een collega die niet alleen uitvoert, maar ook meedenkt over de richting.

CLI-gebaseerd werken

Een bewuste keuze in de huidige werkwijze is het CLI-gebaseerde karakter van de tooling. Claude Code werkt vanuit de terminal en de IDE, niet vanuit een webinterface.

Dat heeft praktische voordelen. Beslissingen, prompts en resultaten worden lokaal opgeslagen. Er is de mogelijkheid om het project te laten indexeren en eigen documentatie in .md-bestanden beschikbaar te stellen als context. De AI leest die bestanden mee, waardoor projectspecifieke afspraken, architectuurbeslissingen en conventies onderdeel worden van het werkgeheugen.

Tegelijkertijd biedt het een vorm van onafhankelijkheid. De werkwijze is niet gekoppeld aan een specifieke AI-leverancier. Mocht er een betere tool verschijnen, dan kan die in dezelfde omgeving draaien, met dezelfde lokale context. De investering zit niet in een platform, maar in de projectdocumentatie en de werkwijze.

De nuance is wel dat de eerder beschreven ervaring met Gemini CLI laat zien dat die onafhankelijkheid niet onbeperkt is. Wisselen van tool kan, maar het vereist discipline: werkende staat committen, duidelijke context meegeven, en niet verwachten dat een nieuwe AI naadloos verdergaat waar de vorige stopte.

Vakkennis blijft essentieel

Het zou eenvoudig zijn om vibe coding neer te zetten als een manier om sneller te programmeren. Dat klopt, maar het is niet het volledige verhaal.

De snelheid komt niet doordat de AI het werk overneemt. De snelheid komt doordat de feedbackloop korter wordt. Een idee kan binnen minuten getest worden in werkende code. Een architectuurkeuze kan concreet gemaakt worden zonder urenlange implementatie vooraf. De ruimte om te experimenteren wordt groter, en dat leidt tot betere oplossingen.

AI-assistenten zijn versterkers: ze maken een goede ontwikkelaar productiever, maar ze maken een onervaren ontwikkelaar niet automatisch goed.

Bij WNK Data is de ervaring dat de juiste combinatie van tools het verschil maakt. Niet de krachtigste AI alleen, maar het samenspel: ChatGPT voor het denken, Claude Code voor het bouwen, en de vakkennis van de developer als rode draad. De CV-builder is daar het praktijkbewijs van — een volwaardige webapplicatie, gebouwd door een klein team met de juiste hulpmiddelen. De demo is te proberen op demo.cv.wnkdata.nl.