Hoe ik mijn eigen Jarvis bouw — zonder één regel code te schrijven

Het begon met een gesprek.

Een kennis — iemand die in hetzelfde vakgebied werkt — had het over kennismanagement. Over het gevoel dat je constant dingen oppikt, leest, hoort, maar dat het nergens landt. Hij had er al flink over nagedacht, meer dan ik. Hij was niet alleen bezig met een app bouwen — hij keek ook naar bredere kennistoepassingen, en had al een werkende opzet met Obsidian als front-end voor zijn vastgelegde kennis. Een meer traditionele aanpak, maar doordacht. Precies wat hij heeft gebouwd weet ik eerlijk gezegd niet volledig — zijn aanpak verdient meer dan een bijzin.

Ik herkende de frustratie direct. Jarenlang schreef ik alles op in een schriftje. Niet omdat ik niet organiseerde — dat was juist het punt. Ik organiseerde wél, maar in een medium waar je niet in kunt zoeken, geen verbanden kunt leggen tenzij je alles zelf doorleest. Je kunt van een schriftje niet ‘meer’ maken. Alle inzichten, de artikelen die je hebt gelezen, de podcasts die je gedachten hebben gevormd — ze stapelen zich op maar verbinden zich niet. Ze zijn dood gewicht zodra het schriftje vol is en in de la verdwijnt.

De digitale alternatieven die ik had geprobeerd spraken me niet aan. Obsidian, Notion, een iPad met Apple Pencil — het voelde telkens als een werkwijze die ik moest aanpassen aan het gereedschap, niet omgekeerd.

Dat gesprek bracht me dichter bij het probleem, maar gaf nog geen richting. Die richting kwam daarna, van een YouTube-filmpje over het concept “second brain”. Niet als introducie van een nieuw idee — het probleem kende ik al — maar als een andere manier om er tegenaan te kijken. En een andere manier om het aan te pakken.

De sleutelkeuze was: niet een traditionele app bouwen. Claude zelf als het systeem gebruiken.

Wat ik bouwde — en wat het werd

Wat ik vervolgens heb gebouwd is niet wat ik vooraf in gedachten had. Het is rijker geworden.

De basis is een SQLite-database — .claude/data/brain.db. Niet omdat ik een database-ontwerper ben, maar omdat het de enige structuur is die lokaal, privé, doorzoekbaar en uitbreidbaar is tegelijk. Ik schrijf zelf geen Python en ik schrijf zelf geen SQL. Maar met Bert — mijn technisch infrastructuurbeheerder, één van de AI-agents in het team — heb ik de architectuur kunnen ontwerpen en laten bouwen. Tabellen voor documenten, voor tags, voor relaties tussen documenten. Een full-text search index op basis van SQLite FTS5. Maar ook een semantische zoeklaag: Bert integreerde Ollama met het nomic-embed-text model dat voor elk kennisatoom een embedding genereert — een wiskundige representatie van de betekenis. Die embeddings worden opgeslagen via sqlite-vec, een extensie voor vector similarity search. Zoeken werkt nu via hybrid retrieval: FTS5 voor exacte trefwoorden, embeddings voor semantische nabijheid, samengevoegd via RRF-fusie. Concreet: 87 van de 135 atomen hebben al embeddings. Je kunt nu zoeken op wat iets betekent, niet alleen op wat er letterlijk staat. Een schema dat van het begin af aan dacht in verbindingen, niet alleen in opslag.

Er is ook een Python MCP-server (brain_mcp_server.py), gebouwd door Sven, die Claude Code verbindt met de database. Dat is de laag die het systeem samenhangend maakt: elke agent kan de database lezen en schrijven via dezelfde tools, met dezelfde structuur. En er is een Python-script (hn_rss_watcher.py) dat dagelijks draait via launchd — MacOS’ taakplanner — en RSS-feeds ophaalt van Hacker News, de Volkskrant, NRC en de New York Times. Finn, de audio/video-specialist, kan podcasts en YouTube-video’s verwerken via yt-dlp en Whisper-transcriptie.

Dit is geen systeem zonder code. Ik schrijf de code niet zelf — maar de code is er wel.

Het team dat ik niet van mensen maakte

Parallel aan de technische infrastructuur bouwde ik een team. Niet van mensen, maar van AI-agents — elk met een naam, een persona, een expertisegebied, en een agent-definitie als markdown-bestand in .claude/agents/.

Het team begon op 11 april 2026 met vier specialisten. Kenny werd teamlead — zijn enige rol is delegeren, hij voert zelf nooit inhoudelijke taken uit. Bert nam de infrastructuur, Lara de documentverwerking, Iris de kennisstrategische laag. Daarna kwamen Daan (academische papers), Noor (business-documenten), Sven (de MCP-integratielaag), Henny (HR — het aanmaken van nieuwe teamleden) en Max (onderzoek als er expertise ontbreekt).

Op 15 april kwamen Vera en Finn erbij — Vera als strategisch adviseur, Finn voor audio en video-ingestie. Vandaag, 16 april, sloot een ghostwriter aan om dit verhaal te vertellen.

Niet elk teamlid draait op hetzelfde model. Vera werkt op Opus, het zwaarste Claude-model, voor strategische beslissingen waar redeneerdiepte en nuance tellen. De meeste andere specialisten draaien op Sonnet. Eenvoudige taken — verkenning, HR, beheer — op Haiku. Bewust model-routing: alles via het duurste model maakt zo’n systeem onbetaalbaar op schaal.

Elf teamleden in vijf dagen. Elk teamlid bestaat als een volledig uitgewerkt profiel: naam, persona, expertisegebied, guardrails voor wat ze wél en niet doen, en instructies over hoe ze communiceren. Iris leest bij de start van elke sessie de openstaande taken uit de backlog. Iris curateert dagelijks een nieuwsbrief — de eerste run was vandaag, 16 april 2026: 8 atomen opgeslagen, 16 items gelogd in de actuality log, een volledig curatierapport en een nieuwsbrief van minder dan duizend woorden.

Wat er mis ging

Maar het is niet allemaal soepel gegaan. Dat is precies wat ik wil delen, omdat het eerlijker is dan een succesverhaal.

Agent-consistentie is lastiger dan het lijkt. Je legt gedrag vast in agent-profielen, in geheugenbestanden, in de CLAUDE.md-configuratie. Je werkt iets bij na een sessie. En dan, in een volgende sessie, blijkt dat een agent toch iets doet wat niet de bedoeling was — iets zelf uitvoert terwijl hij had moeten delegeren, een relatie aanmaakt in de database die procesmetadata bevat in plaats van inhoudelijke verbanden, een document schrijft dat niet gevraagd was. Je corrigeert. Je legt het opnieuw vast. Je test het. En toch moet je regelmatig terug om te evalueren of het model nog klopt.

Wat ik heb geleerd: het vastleggen van gedrag is niet eenmalig. Het is een proces. Elke keer dat je iets nieuws ontdekt over hoe agents zich gedragen, moet je besluiten of dat een structurele aanpassing verdient — in het profiel, in de CLAUDE.md, in de backlog. Kenny houdt een persistent taakregister bij in .claude/backlog.md. Dat bestand overleeft sessiewisselingen, compactie van context, crashes. Het is de enige bron van waarheid voor wat er nog openstaat.

Wat ik ook heb ontdekt: het systeem groeit sneller dan ik had voorzien, en dat is niet altijd comfortabel. We begonnen met geschreven notities. Daarna kwamen podcasts en video’s. Daarna de dagelijkse nieuwsbrief op basis van RSS. Elke stap opende een volgende deur. Ik kan het einde moeilijk overzien — maar dat is ook geen eis.

Waar het nu staat

Vandaag bevat de database 135 kennisatomen, verdeeld over vijf clusters: AI & LLM, Kennismanagement & PKM, Werk & Consultancy, Architectuur & Technologie, Finance & Investeren. Niet alleen losse notities, maar ook syntheses — Daan schrijft integratieve atomen over clusters van drie of meer samenhangende documenten. Iris houdt een schema-document bij dat de structuur van de kennisbank zelf beschrijft.

Het systeem weet nu wie ik ben, wat ik lees, hoe ik denk. Dat is het fundament.

De werkwijze “bouwen zonder code schrijven” is voor mij een heerlijk concept — met die nuance. Ik geef daarbij niet het gevoel dat ik werk uit handen geef. Eerder het omgekeerde: ik focus op de dingen die ertoe doen. Architectuurkeuzes, prioriteiten, de richting — die blijven bij mij. De technische uitvoering is middel, niet doel.

Dat voelt anders dan ik had verwacht. Ik dacht dat “AI laten bouwen” zou voelen als afhankelijkheid. Het voelt meer als samenwerken met specialisten die beter zijn dan ik in hun eigen domein, maar die mijn richting nodig hebben om iets zinvols te maken.

Wat ik eigenlijk wil

Als ik helemaal eerlijk ben over wat ik uiteindelijk wil: dit is nog niet het eindpunt. Ik denk aan Jarvis — de digitale assistent van Tony Stark, niet een robot maar een stem. Eentje die weet wat er speelt op meerdere fronten tegelijk: je werk, je financiën, je lezing van gisteren, het gesprek van vorige week. Die niet wacht tot je een vraag stelt, maar meedenkt als jij het even niet ziet. Die context heeft — en die context ook gebruikt.

De kennis met wie dit begon, bouwde een app. Ik koos een andere richting. Of de richting die ik koos de betere is, weet ik niet. Maar de uitkomst — een systeem dat over mij nadenkt, dat verbanden legt die ik zelf niet zou leggen, dat dagelijks opereert zonder dat ik er actief bij hoef te zijn — is rijker dan ik na dat eerste gesprek in gedachten had.

Elke ontdekking is er eentje in meerdere stappen.


Ben je zelf bezig met iets vergelijkbaars? Of heb je een andere aanpak gevonden die werkt? Ik ben benieuwd — je kunt me bereiken via het contactformulier op deze site