Wij bouwden 8 MKB-tools met vibe coding: de eerlijke balans na 12 maanden
Next Day Online bouwde het afgelopen jaar 8 MKB-tools met vibe coding. 5 draaien nog actief, 2 zijn afgeschreven. Dit is wat we leerden: over kosten, valkuilen, AVG en waarom requirements het echte knelpunt zijn, niet de prompts.
We gebruiken vibe coding dagelijks bij Next Day Online. Niet als experiment, maar als standaard werkwijze voor MKB-klanten die een tool nodig hebben maar geen budget voor een klassiek softwaretraject. Dit artikel gaat niet over hoe vibe coding werkt in theorie. Het gaat over wat er in de praktijk gebeurt als je het een jaar lang doet voor echte klanten. Wat werkte, wat mislukte, en wat het echt kostte.
TL;DR: Vibe coding is een serieuze versneller voor MKB-tools met een beperkte scope. De technologie is zelden het probleem. Het echte knelpunt is dat opdrachtgevers hun eigen proces zelden nauwkeurig genoeg kunnen beschrijven. Een requirements-sessie van 30 minuten bespaart gemiddeld 80% van de iteratierondes.
Wat vibe coding is (en wat het niet is)
Vibe coding is softwareontwikkeling waarbij je in gewone taal beschrijft wat een tool moet doen, en een AI-model (zoals Claude Code, Cursor of Lovable) schrijft de code. Jij stuurt bij, de AI bouwt verder. Geen programmeeropleiding vereist voor eenvoudige tools. Maar voor een productie-omgeving met externe gebruikers, koppelingen en klantdata heb je nog altijd technisch inzicht nodig om het goed op te zetten.
| Aspect | Traditionele development | Vibe coding |
|---|---|---|
| Doorlooptijd prototype | 3-6 weken | 1-4 dagen |
| Kosten prototype | 5.000-15.000 euro | 500-2.000 euro |
| Benodigde kennis opdrachtgever | Laag (agency regelt alles) | Middel (jij moet je proces kennen) |
| Schaalbaarheid | Hoog (mits goed gebouwd) | Middel (afhankelijk van complexiteit) |
| Onderhoud achteraf | Agency of interne developer | Zelf of met begeleiding |
De 8 tools die wij bouwden: eerlijk overzicht
Dit is de kern van dit artikel. Hieronder de acht tools die we het afgelopen jaar hebben gebouwd voor MKB-klanten. We noemen geen bedrijfsnamen, maar de sectoren en problemen zijn herkenbaar voor elke MKB-ondernemer.
1. Intake-formulier met automatische routing naar CRM
Gebouwd met: Claude Code + Supabase + n8n Bouwtijd: 4 uur prototype, 2,5 dag productie-klaar Status na 12 maanden: Actief in gebruik. Klant beheert het zelf. Eerlijke noot: De eerste versie sloeg alle inzendingen op in één tabel zonder klantnummer. Drie uur verloren aan het opschonen van testdata die de tool als echte leads had verwerkt. Testomgeving apart houden is geen luxe.
2. Offertegenerator voor een installatiebedrijf
Gebouwd met: Lovable + Google Sheets als database Bouwtijd: 1 dag prototype, 4 dagen productie-klaar Status na 12 maanden: Actief, maar 80% van de functies wordt niet gebruikt. Eerlijke noot: We bouwden te veel. De ondernemer wilde één knop: "maak offerte van dit materiaallijstje." Wij voegden versiehistorie, PDF-export en een klantoverzicht toe. Te weinig gevraagd wat hij echt nodig had. Les: begin met het minimum.
3. Interne urenregistratie voor een adviesbureau
Gebouwd met: Cursor + SQLite Bouwtijd: 6 uur prototype, 1 dag deployment Status na 12 maanden: Afgeschreven. Klant stapte na 3 maanden over op Toggl. Eerlijke noot: We onderschatten hoe sterk de voorkeur voor een bekende interface werkt. De tool deed precies wat werd gevraagd, maar het team viel telkens terug op Excel en Toggl. Niet elk probleem vraagt om maatwerk.
4. Leadtracker voor een groeibedrijf in de zorg
Gebouwd met: Claude Code + Airtable Bouwtijd: 3 uur prototype, 3 dagen productie-klaar Status na 12 maanden: Actief. Klant heeft zelf al 2 extra velden toegevoegd. Eerlijke noot: Dit was het best verlopen project van het jaar. De klant had haar eigen proces uitgetekend op een A4. Dat handgeschreven velletje was ons startpunt. Kleine scope, duidelijke eigenaar intern, heldere requirements.
5. Klantportaal voor een accountantskantoor
Gebouwd met: Lovable + Supabase Auth Bouwtijd: 2 dagen prototype, 8 dagen productie-klaar Status na 12 maanden: Deels in gebruik (2 van de 5 geplande modules zijn live). Eerlijke noot: AVG-compliance kostte meer tijd dan de tool zelf. Logging, toegangsbeheer, bewaarbeleid: pas halverwege de bouw kwamen al deze vragen op tafel. Hierover moet je op dag 0 nadenken, niet halverwege het traject.
6. Dashboard voor interne KPI-rapportage
Gebouwd met: Cursor + PostgreSQL + Chart.js Bouwtijd: 5 uur prototype, 5 dagen productie-klaar Status na 12 maanden: Actief, maar management vraagt regelmatig nieuwe grafieken aan. Eerlijke noot: Dashboards zijn nooit klaar. Elke directievergadering levert nieuwe wensen op. Zorg dat de klant begrijpt dat een dashboard een levend product is, geen eenmalige oplevering.
7. Automatische factuurverwerking via e-mail
Gebouwd met: n8n + Claude API + Supabase Bouwtijd: 2 dagen prototype, 4 dagen productie-klaar Status na 12 maanden: Actief. Bespaart klant structureel 4 uur per week. Eerlijke noot: Dit draait verrassend stabiel. De variatie in inkomende factuurformaten was groter dan verwacht. We hebben de extractie-logica drie keer aangepast in de eerste maand. Daarna geen problemen meer. Itereer snel na go-live.
8. Reserveringstool voor een fysiotherapiepraktijk
Gebouwd met: Lovable + Google Calendar API Bouwtijd: 1 dag prototype, 6 dagen productie-klaar (door API-integratie) Status na 12 maanden: Afgeschreven na 4 maanden. Klant gebruikte Calendly al. Eerlijke noot: Bestaande SaaS-tools zijn soms gewoon beter. Calendly kost 12 euro per maand en heeft functies die wij in geen twee weken hadden gebouwd. Het was de verkeerde keuze om maatwerk te bieden voor een generiek probleem.
Overzicht: status na 12 maanden
| Tool | Gebouwd met | Bouwtijd (prod) | Status |
|---|---|---|---|
| Intake-formulier + CRM-routing | Claude Code, Supabase, n8n | 2,5 dag | Actief |
| Offertegenerator | Lovable, Google Sheets | 4 dagen | Actief (deels) |
| Urenregistratie | Cursor, SQLite | 1 dag | Afgeschreven |
| Leadtracker zorg | Claude Code, Airtable | 3 dagen | Actief |
| Klantportaal accountancy | Lovable, Supabase Auth | 8 dagen | Deels actief |
| KPI-dashboard | Cursor, PostgreSQL | 5 dagen | Actief |
| Factuurverwerking e-mail | n8n, Claude API, Supabase | 4 dagen | Actief |
| Reserveringstool fysiotherapie | Lovable, Google Calendar | 6 dagen | Afgeschreven |
5 van de 8 tools draaien nog actief na 12 maanden. 2 zijn afgeschreven. 1 is deels in gebruik. Dat is ons eerlijke resultaat na een jaar vibe coding voor MKB.
Het echte bottleneck zit niet in de code
De gangbare opvatting is: het moeilijkste van vibe coding is de juiste prompts schrijven. Dat klopt niet. Dat is hooguit een uitdaging in de eerste uur. Na twaalf maanden MKB-projecten weten we: het echte probleem is dat opdrachtgevers hun eigen proces niet nauwkeurig genoeg kunnen beschrijven.
Een ondernemer zegt: "Ik wil dat leads automatisch naar de juiste persoon gaan." Prima. Maar welke leads? Via welk kanaal? Op basis van welke criteria? Wat als twee criteria tegelijk gelden? Mag de ontvanger terugkoppelen via dezelfde tool, of gaat dat via e-mail?
Dit zijn geen technische vragen. Het zijn procesmatige vragen die de meeste ondernemers nog nooit hardop hebben beantwoord, omdat hun team het altijd op gevoel deed.
Bij project 4 (leadtracker in de zorg) had de klant haar eigen proces uitgetekend op een A4. Dat velletje was ons startpunt. Het project liep soepel, doorlooptijd precies zoals gepland.
Bij project 5 (klantportaal accountancy) begonnen we met een vaag briefje. Pas na anderhalve dag bouwen kwamen vragen op tafel als: mag een klant zijn eigen documenten zien na upload? Hoelang bewaren we ze? Wie mag ze verwijderen? Die vragen hadden we op dag 0 moeten stellen. We verloren twee volle werkdagen aan herbouw.
Onze vaste regel nu: 30 minuten requirements-interview voordat er ook maar één prompt geschreven wordt.
Requirements-checklist: kopieer en gebruik direct
REQUIREMENTS-CHECKLIST: Vibe Coding Project
Projectnaam: <naam van de tool>
Datum: <datum>
Opdrachtgever: <naam + functie>
1. Wat is het probleem dat we oplossen?
Huidig pijnpunt: <beschrijf in 1-2 zinnen>
2. Wie gebruikt de tool?
Intern: <aantal medewerkers, welke rollen>
Extern: <klanten / leveranciers / partners — ja of nee>
3. Welke data gaat erin?
Input: <wat voert de gebruiker in, of welk systeem levert data?>
Output: <wat moet de tool teruggeven of opslaan?>
4. Welke uitzonderingen bestaan er?
Uitzondering 1: <beschrijf edge case>
Uitzondering 2: <beschrijf edge case>
5. Wie heeft toegang tot wat?
Rol A (<naam>): kan <lezen / schrijven / verwijderen>
Rol B (<naam>): kan <alleen lezen>
6. Welke systemen moet het koppelen?
Bestaand systeem: <CRM / boekhoudpakket / agenda / e-mail>
Koppeling noodzakelijk voor v1: <ja / nee / later>
7. Wat is "goed genoeg" voor versie 1?
Minimale werkende versie: <beschrijf in 2-3 zinnen>
8. Mag er klantdata in de tool opgeslagen worden?
<ja / nee — als ja, zie AVG-checklist verderop>
9. Wie beheert de tool na oplevering?
<naam>, beschikbaar: <x uur per week>
10. Budget jaar 1 (tools + begeleiding)?
<euro bedrag of bandbreedte>
Wat kost het echt?
Drie concrete scenario's op basis van onze projecten in 2025-2026:
| Scenario | Voorbeeld | Toolkosten/maand | NDO-begeleiding | Totaal jaar 1 |
|---|---|---|---|---|
| Zelf doen met kickstart | Intern dashboard, eenvoudig formulier | 20-40 euro | 1 dag workshop (900 euro) | 1.140-1.380 euro |
| Samen bouwen | Klantportaal, intake-tool, leadtracker | 40-80 euro | 2-3 werkdagen (2.400-3.600 euro) | 2.880-4.560 euro |
| Volledig uitbesteed | Complex MVP met systeem-integraties | 100-200 euro | 5-10 werkdagen (6.000-12.000 euro) | 7.200-14.400 euro |
Toolkosten zijn abonnementen op AI-ontwikkelomgevingen zoals Lovable, Cursor Pro of Claude Code. Hosting is apart en loopt van 10 tot 80 euro per maand, afhankelijk van opslag en gebruik.
De verborgen kostenpost die mensen onderschatten: iteratietijd. Als de requirements niet kloppen bij de start, bouw je twee keer. De 30 minuten requirements-interview hierboven is de goedkoopste investering van het hele project.
Wanneer doe je het zelf, en wanneer huur je iemand in?
Doe het zelf als:
- De tool is puur intern, geen klanten als gebruikers
- Er is geen koppeling met bestaande systemen nodig
- De data bevat geen persoonsgegevens van klanten (of heel weinig)
- Iemand in jouw team heeft 4 uur of meer per week om te itereren
- Het is een vervangbaar experiment: als het mislukt, is dat geen ramp
Huur iemand in als:
- Externe gebruikers (klanten, leveranciers) hebben toegang
- Er zijn koppelingen met CRM, boekhoudpakket of agenda
- De tool verwerkt AVG-gevoelige data
- De tool draait in een productie-omgeving met continuïteitseisen
- Niemand intern heeft tijd of affiniteit om na oplevering te beheren
De tussenvorm: samen bouwen
Bij NDO bieden we een "samen bouwen"-traject aan: wij verzorgen de technische bouw, jij levert het proces en de requirements. Na oplevering draag je de tool over aan iemand intern. Dit is voor de meeste MKB-tools de meest verstandige keuze. Bekijk ons MVP-traject voor hoe dit eruitziet in de praktijk, of start met onze automatiserings-intake als je eerst wil verkennen wat past.
AVG, security en onderhoud: wat niemand je vertelt
Vibe-coded tools slaan data op. Maar waar precies? Wie heeft toegang? Wat gebeurt er bij een datalek? Dit zijn vragen die bij de meeste MKB-trajecten te laat op tafel komen.
5 concrete checks voor elke tool die in productie gaat:
Waar staat de data? Supabase standaard op EU-datacenters. Airtable staat standaard in de VS, tenzij Enterprise. Google Sheets idem. Controleer dit voor je bouwt, niet achteraf.
Is er toegangsbeheer per gebruiker? Elke gebruiker krijgt een eigen login. Geen gedeeld wachtwoord. Definieer rollen (lezen, schrijven, beheren) en implementeer die direct in de bouw.
Wordt er gelogd wie wat doet? Minimaal vereist als medewerkers klantdata bewerken: een audit-trail van wie wat gewijzigd heeft en wanneer.
Wat is het bewaarbeleid? Data die je niet meer nodig hebt, moet je verwijderen. De AVG stelt geen vaste termijn voor elke categorie, maar verwacht dat je er aantoonbaar over nagedacht hebt.
Is er een verwerkersovereenkomst? Als je een SaaS-platform (Supabase, Airtable, n8n Cloud) gebruikt om klantdata te verwerken, heb je een DPA nodig met die aanbieder. Grote providers bieden dit standaard aan in hun instellingen.
De Autoriteit Persoonsgegevens heeft praktische richtlijnen voor kleine organisaties op autoriteitpersoonsgegevens.nl die ook voor vibe-coded tools van toepassing zijn.
Voor productie-omgevingen met hogere eisen aan security en infrastructuur: bekijk onze AI-agents dienst voor hoe we dat inrichten.
Wat je meeneemt uit dit artikel
Vibe coding werkt voor MKB-tools. Maar niet voor elk probleem, en niet zonder voorbereiding. Als de requirements kloppen en de scope realistisch is, lever je een werkende tool in dagen in plaats van maanden, voor een fractie van de klassieke ontwikkelkosten.
De twee tools die bij ons stierven, gingen niet ten onder aan slechte code. Ze gingen ten onder aan een te brede scope (project 2) en aan maatwerk voor een probleem dat SaaS al had opgelost (project 8). Dat zijn lessen die je alleen leert door het te doen.
Heb je een concreet intern probleem en wil je weten of vibe coding daarvoor de juiste aanpak is? Bekijk onze cases of plan een eerste gesprek. We kijken dan samen of maatwerk, bestaande SaaS of een hybride aanpak het meest geschikt is voor jouw situatie.
