Een maand geleden begon ik aan een experiment. Kan ik in mijn eentje een AI bouwen die tijdens mijn sales-calls meeluistert, op het juiste moment de juiste klantcase laat zien, en mij coacht op spreektijd? Geen abonnement, geen cloud, alles op mijn eigen Mac.
Vandaag, dag 30, staat versie 1.0 live. Onderweg waren er 110 commits, 8.040 regels code, 52 testbestanden, één avond waarop alles crashte, en twee oplossingen voor diezelfde crash. Dit is wat ik leerde, bedoeld voor MKB-ondernemers die zich afvragen of dit ook bij hen kan werken.
Wat ik heb gebouwd
Stel je voor dat je een ervaren sales-coach naast je hebt zitten tijdens elke video-call. Niet eentje die achteraf een rapport stuurt, maar eentje die in real-time meeluistert en je een seintje geeft als de prospect een pijnpunt noemt waar jij toevallig een klantcase voor hebt. Op je tweede scherm verschijnt dan automatisch de juiste slide. En een balkje onderin laat zien of je niet te veel aan het woord bent, een soort ondertiteling op TV, maar dan voor je eigen gespreksgedrag.
Dat is Sales Copilot. Wat het niet is: Gong of Chorus. Die tools analyseren je gesprekken pas nadat ze zijn afgelopen, draaien in de cloud, en kosten al snel €75 tot €200 per gebruiker per maand. Sales Copilot doet het tijdens het gesprek, op je eigen laptop, en is gratis te downloaden op github.com/Vinix24/sales-copilot.
Waarom dat verschil ertoe doet: je opnames verlaten je kantoor niet. Geen verwerkersovereenkomst met een Amerikaanse SaaS. Geen €100 per maand per accountmanager. En vooral: je leert tijdens het gesprek, niet pas een week later in een dashboard dat niemand opent.
📖 Lees ook: April Build Log: metrics, failures, learnings: de ruwe data uit dezelfde bouwmaand
Waarom ik het maakte
In mijn praktijk kom ik bij MKB-bedrijven die graag iets met AI willen doen in sales, maar telkens vastlopen op dezelfde drie blokkades.
Eén: privacy. AVG, de EU AI Act, en sinds 2024 de actievere handhaving van de Autoriteit Persoonsgegevens maken cloud-recording van klantgesprekken een serieuze procurement-hobbel. Veel bedrijven willen het simpelweg niet meer tekenen.
Twee: kosten. Gong, Chorus en Fireflies werken voor enterprise sales-teams van vijftig man. Voor een MKB-team van drie? Reken maar uit: €150 × 3 × 12 = €5.400 per jaar voor inzichten die vooral nuttig zijn voor de sales manager, niet voor de mensen die het gesprek voeren.
Drie: timing. Achteraf horen "je hebt vier minuten gepraat zonder een vraag te stellen" is leerzaam. Maar het verandert niet wat je morgen doet. Live een seintje krijgen wel.
Sinds Apple Silicon (de M1, M2, M3, M4 chips in moderne MacBooks) is het technisch mogelijk om transcriptie en taalmodellen lokaal te draaien op een laptop met 16 GB geheugen. Dat was vijf jaar geleden science-fiction. Nu kan het. En er was geen open-source alternatief, dus bouwde ik er een.
Het plan: eerst documenteren, dan coden
Dag 1 schreef ik geen regel code. Alleen documentatie: een product requirements document, een technisch ontwerp, en een onderzoeksrapport. Pas op dag 2 verscheen de eerste functionele Python.
Dat lijkt traag, maar het is mijn standaardaanpak voor wat ik governance-first development noem. Als je weet wat je bouwt en waarom, dan zijn de keuzes onderweg veel sneller. En, belangrijker, zoals later bleek, je kunt veel makkelijker een onderdeel vervangen als het stuk gaat.
Het tweede principe: modulair ontwerp. Sales Copilot bestaat uit vier losse onderdelen die elk apart werken. De spreektijd-meter heeft geen AI nodig en kan zelfstandig draaien. De transcriptie idem. De pijnpunt-detector zit erop gestapeld. En het rapportage-deel pakt achteraf alles samen.
Vier modules die los werken, communiceren via één centrale schakelaar. Klinkt overengineerd voor een solo-project. Tot het moment dat één onderdeel crasht en je blij bent dat de rest gewoon doorloopt.
De realiteit: wat werkte, wat brak
Op dag 6, zes dagen na de eerste regel code, werkte het hele systeem end-to-end. Audio binnen, transcript op het scherm, pijnpunt herkend, slide ingeschoten. Mijn eigen verbazing was groot. Ik dacht dat ik bijna klaar was.
Op dag 13 zette ik het v1.0.0 label erop. Release-klaar, dacht ik. CI op groen, audit-tooling werkend, AGPL-licentie eronder. Ik plande de publieke launch in voor begin mei.
Maar tussen dag 6 en dag 13 deed ik iets wat op dat moment nutteloos voelde. Op dag 9 bouwde ik een tweede transcriptie-engine in. De eerste (MLX, het AI-framework van Apple zelf) werkte prima. De tweede (whisper.cpp, een C++ alternatief) bouwde ik "voor de zekerheid". Achteraf gezien was dat de belangrijkste 4 uur van het hele project.
Want op dag 24 crashte MLX. Twee verschillende fouten op het diepste niveau van de Apple-chip, bekende thread-safety bugs in Apple's eigen framework, beschreven in hun publieke issue tracker. Twee parallelle transcribers (één voor mijn microfoon, één voor wat de prospect zegt) die hetzelfde GPU-kanaal deelden. Klassiek race-conditie probleem.
In de oude wereld had ik dit een week zoeken, een week paniek en een uitstel van de launch gekost. Die middag duurde het twee uur. Eén configuratie-vlag omzetten, het systeem switcht naar mijn 15 dagen eerder gebouwde reserve-route, klaar.
De les is niet "MLX is slecht", MLX is briljant en wordt elke maand beter. De les is: investeer in alternatieven voordat je ze nodig hebt. Als ik dat alternatief had gebouwd op het moment dat het nodig was, was de launch een week opgeschoven. Nu schoof er niets op.
Andere ontberingen onderweg, kort: mijn AI hallucineert tijdens stiltes en zegt dan dingen als "TV Gelderland" of "Ondertiteld door Omroep Brabant", blijkbaar heeft hij in zijn training veel publieke omroep gehoord. Een filterlijst lost dat op, maar ik moest hem wel handmatig uitbreiden met YouTube-outros ("thanks for watching", "subscribe to") nadat ik die in mijn eerste demo-call voorbij zag flitsen.
Ik bouwde drie verschillende manieren om audio binnen te krijgen voor er één betrouwbaar werkte. Mac-applicaties mogen sinds een Apple-update niet meer zomaar de systeemaudio onderscheppen, dus ik moest een klein Swift-hulpprogramma compileren dat dat netjes via de officiële API doet. En een race-conditie waar één module al begon te luisteren voor een ander module klaar was met starten, kostte me twee dagen debuggen.
Dat hoort erbij. Bouwen in het openbaar betekent dat je ook deze dingen laat zien, niet alleen het glanzende eindresultaat.
Dag 29: van noodverband naar structurele fix
Met de noodroute op whisper.cpp draaide alles weer. Maar de onderliggende oorzaak, twee parallelle MLX-transcribers die hetzelfde GPU-kanaal opvroegen, was niet opgelost, alleen omzeild.
Een paar dagen na de launch bouwde ik er de structurele fix bovenop. Niet meer twee parallelle transcribers, maar één transcriber-worker met een gedeelde wachtrij. Mijn microfoon-stroom krijgt lage prioriteit (mijn eigen woorden mag het systeem desnoods later transcriberen), de prospect-stroom krijgt hoge prioriteit (zijn pijnpunten moet je in real-time horen). Eén worker, twee streams, geen race-conditie.
Daarmee verdween de hele klasse van Metal-races. Niet door MLX te omzeilen, maar door het concurrency-model te herontwerpen. De whisper.cpp-route blijft bestaan als alternatief, meer keuze is altijd beter, maar de standaard staat weer op MLX, en het systeem werkt sneller en stabieler dan vóór de crash.
Daar zit de tweede les: een noodroute is niet je eindbestemming. Op dag 24 was de swap juist. Op dag 29 was de structurele fix juist. Beide vragen om verschillende dingen, de eerste om voorbereid materiaal, de tweede om kalmte en de luxe van tijd. Een goed product heeft beide.
Open source vs. Pro: hoe ik dit verdien
Eerlijk over het verdienmodel, want dat krijg ik altijd als eerste vraag.
Wat is gratis (open source, AGPL-3.0): de complete tool. Alle transcriptie, alle pijnpunt-detectie voor 12 Nederlandse B2B categorieën, spreektijd-monitoring, slide-injectie, post-call rapportage, en, belangrijk, de complete fine-tune pipeline waarmee je het taalmodel kunt trainen op je eigen sector.
Wat betaald is (Pro): een paar specifieke dingen. Een vooraf getraind Nederlands sales-model (meeste mensen willen niet zelf trainen). Integraties met HubSpot, Pipedrive, Salesforce. Dynamische slides die het taalmodel ter plekke genereert. Multi-user dashboards voor teams.
Pricing: €29 per maand voor solo, €49 per gebruiker per maand voor teams (vanaf 3), maatwerk vanaf €2.500 per jaar voor enterprise met SSO en audit log.
De filosofie: ik geef het gereedschap weg, ik verkoop de voorgemonteerde uitvoering. Iedereen kan een ovenstandaard kopen en zelf een pizzaoven metselen, de meeste mensen kopen liever de Ooni. Hetzelfde principe.
Ik wil niet dat mensen €29 per maand committeren zonder eerst de gratis versie een week te proberen. De OSS-versie is geen demo of trial. Het is de echte software. Als je technisch genoeg bent (of iemand inhuurt) om hem te draaien, betaal je nul.
Wat ik heb geleerd
Vier dingen die ik meeneem naar mijn volgende project.
Documenteer voordat je codeert. Een dag PRD scheelt een week heen-en-weer halverwege. Niet sexy, wel doorslaggevend.
Bouw je escape-route voordat je hem nodig hebt, en ontwerp daarna de structurele fix. Whisper.cpp op dag 9 voelde als overdreven voorbereiding. Op dag 24 was het de reden dat de launch doorging. Op dag 29 was de gedeelde inference-worker de reden dat het probleem definitief verdwenen is. Twee verschillende soorten oplossingen voor hetzelfde probleem, beide nodig.
Open source is je distributiekanaal. Hacker News, LinkedIn en GitHub-stars samen bereiken meer mensen dan een advertentiebudget van €5.000. En het zijn precies de mensen die ofwel zelf bouwen (gratis, prima), of een budget hebben om Pro te kopen.
Solo bouwen in 30 dagen kan, mits je scope keihard houdt. Ik heb tientallen ideeën weggestreept. Geen mobiele app. Geen Salesforce-integratie in v1. Geen video-analyse. Eerst de kerncapaciteit perfect krijgen, daarna pas verbreden. Voor een MKB-ondernemer die overweegt zelf met AI te bouwen of een ontwikkelaar in te huren: dit is de belangrijkste les. De meeste AI-projecten falen niet op de techniek, maar op een scope die elke week groter wordt tot er niets opgeleverd kan worden.
📖 Lees ook: Wat kost AI implementatie echt?: eerlijk rekensommetje voor MKB-ondernemers die overwegen zelf te bouwen
Probeer het zelf
De volledige code staat op github.com/Vinix24/sales-copilot. Een README met setup-instructies, een script dat alle dependencies installeert, en een testopdracht die controleert of je audio-instellingen kloppen. Hardware-eis: een Mac met Apple Silicon (M1 of nieuwer) en minimaal 16 GB geheugen. Dat is het.
Wil je op de hoogte blijven van Pro-features (waaronder het pre-getrainde Nederlandse sales-model)? Mail me op vincent@vnx.digital en ik zet je op de wachtlijst.
Vragen, feedback, of een use-case waar je tegenaan loopt in jouw bedrijf, diezelfde mailbox. Ik lees alles zelf en antwoord meestal binnen een dag.
Wil je weten hoe ik dit soort governance-first aanpak toepas bij klanten? Bekijk mijn werkwijze als AI Architect.
📖 Lees ook: Glass Box Governance: hoe ik AI-agents in productie houd: waarom elk agentbesluit een receipt krijgt