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: het gevoel dat je constant dingen oppikt, leest en hoort, en dat het nergens landt. Hij had er al flink over nagedacht, meer dan ik. Hij bouwde niet alleen een app maar 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. Wat hij precies heeft gebouwd weet ik niet volledig, en zijn aanpak verdient meer dan een bijzin.

Ik herkende de frustratie direct. Jarenlang schreef ik alles op in een schriftje. Dat kwam niet doordat ik niet organiseerde, want ik organiseerde wel, alleen in een medium waarin je niet kunt zoeken en waarin je geen verbanden kunt leggen tenzij je alles zelf doorleest. Van een schriftje kun je niet ‘meer’ maken. Alle inzichten, de artikelen die je hebt gelezen en de podcasts die je gedachten hebben gevormd stapelen zich op zonder zich te verbinden. 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. Bij Obsidian, Notion en een iPad met Apple Pencil moest ik mijn werkwijze telkens aanpassen aan het gereedschap in plaats van andersom.

Dat gesprek bracht me dichter bij het probleem, maar gaf nog geen richting. Die kwam daarna, van een YouTube-filmpje over het concept “second brain”. Het introduceerde geen nieuw idee, want het probleem kende ik al, maar het gaf me een andere manier om ertegenaan te kijken en het aan te pakken.

De sleutelkeuze was om Claude zelf als het systeem te gebruiken en geen traditionele app te bouwen.

Wat ik bouwde en wat het werd

Wat ik vervolgens heb gebouwd wijkt af van wat ik vooraf in gedachten had, en het is rijker geworden.

De basis is een SQLite-database, .claude/data/brain.db. Ik ben geen database-ontwerper, maar SQLite is de enige structuur die lokaal, privé, doorzoekbaar en uitbreidbaar tegelijk is. Ik schrijf zelf geen Python en ik schrijf zelf geen SQL. Met Bert, mijn technisch infrastructuurbeheerder en een van de AI-agents in het team, heb ik de architectuur toch kunnen ontwerpen en laten bouwen. Er zijn tabellen voor documenten, tags en relaties tussen documenten, en een full-text search index op basis van SQLite FTS5. Daarnaast is er 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 hebben 87 van de 135 atomen al embeddings. Je kunt nu zoeken op wat iets betekent en niet alleen op wat er letterlijk staat. Het schema is vanaf het begin opgezet voor verbindingen en niet alleen voor opslag.

Er is ook een Python MCP-server (brain_mcp_server.py), gebouwd door Sven, die Claude Code verbindt met de database. Die laag maakt het systeem samenhangend: elke agent kan de database lezen en schrijven via dezelfde tools, met dezelfde structuur. Verder draait er dagelijks een Python-script (hn_rss_watcher.py) via launchd, de taakplanner van macOS, dat 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.

Het systeem bestaat dus wel uit code. Ik schrijf die alleen niet zelf.

Een team van AI-agents

Parallel aan de technische infrastructuur bouwde ik een team 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 en hij voert zelf nooit inhoudelijke taken uit. Bert nam de infrastructuur, Lara de documentverwerking en 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 en eenvoudige taken (verkenning, HR, beheer) op Haiku. Dat is bewuste model-routing, want alles via het duurste model maakt zo’n systeem op schaal onbetaalbaar.

In vijf dagen kwamen er elf teamleden bij. Elk bestaat als een volledig uitgewerkt profiel: naam, persona, expertisegebied, guardrails voor wat ze wel en niet doen, en instructies over hoe ze communiceren. Iris leest bij de start van elke sessie de openstaande taken uit de backlog. Ze curateert ook 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

Het is niet allemaal soepel gegaan, en dat wil ik delen.

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

Wat ik heb geleerd is dat het vastleggen van gedrag een doorlopend proces is. 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 of in de backlog. Kenny houdt een persistent taakregister bij in .claude/backlog.md. Dat bestand overleeft sessiewisselingen, compactie van context en crashes, en is de enige bron van waarheid voor wat er nog openstaat.

Ook het systeem zelf groeit sneller dan ik had voorzien, en dat is niet altijd comfortabel. We begonnen met geschreven notities, daarna kwamen podcasts en video’s en 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. Behalve losse notities zijn er 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 en hoe ik denk, en dat vormt het fundament.

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

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

Wat ik eigenlijk wil

Dit is nog niet het eindpunt. Ik denk aan Jarvis, de digitale assistent van Tony Stark, die geen robot is maar een stem. Een assistent 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, en die context heeft en die ook gebruikt.

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

Elke ontdekking verliep 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