Afgelopen weekend had ik weer eens wat tijd om te klooien. Mijn manuscript over Starten met Obsidian was af. En ik was behoorlijk onder de indruk van wat ik in een week voor elkaar had gekregen door samen te schrijven met AI. Nu ik handiger was geworden met ChatGPT en Claude, had ik ook wat meer vertrouwen om te spelen met het maken van code.
Dat liep flink uit de hand, zoals vaker gebeurt. Ik schreef met diezelfde AI die me zo fantastisch had geholpen bij het schrijven van "Starten met Obsidian", een drietal langere artikelen over hoe ik mijn Gmail-archief van 14 GB omtoverde tot een fantastisch geïnterconnecteerd systeem. Een weekend lang fors klooien en nieuwe dingen leren over het maken van code met ChatGPT. En nadenken over het belang van informatievaardigheden in het kader van datasoevereiniteit.
Dit artikel is mijn namijmering over het euforische gevoel dat me overspoelde toen ik dit weekend voor het eerst het gevoel had dat ik serieuze dingen kon bereiken met code.
Wat Begon als Een Simpel Idee
Wat begon als "even snel wat oude e-mails doorzoekbaar maken" groeide uit tot iets veel groters: een semantische transformatie-engine.
Een wattus???
In normaal Nederlands: een slimme machine die niet alleen je oude e-mails leest, maar er ook de betekenis uit haalt. Het kijkt wie er met wie praat, waarover, wanneer - en bouwt daar een soort digitale kaart van.
Een wattus???
In normaal Nederlands: een slimme machine die niet alleen je oude e-mails leest, maar er ook de betekenis uit haalt. Het kijkt wie er met wie praat, waarover, wanneer - en bouwt daar een soort digitale kaart van.
Het doet me denken aan die tijd dat schaakgrootmeester Garry Kasparov ontdekte dat hij samen met een computer veel sterker was dan beide apart. Niet de computer die alles overneemt, maar mens en machine die elkaar aanvullen. Precies zo voelde dit project: ChatGPT als mijn technische partner, ik als de bedenker en stuurman.
Het Mooie is: Ik Kan Niet Programmeren. Dacht Ik...
Maar als je de term "programmeren" opdeelt in aspecten, blijkt dat ik al zeker over aardig wat elementen beschik:
- Analyseren en in- en uitzoomen op problemen
- Snel van perspectief wisselen tussen detail en overzicht
- Complexe systemen begrijpen en in onderdelen opdelen
- Patronen herkennen in data en processen
Ik kan geen code schrijven, maar met ChatGPT maakt dat niet uit. Wat ik ontdekte: ik heb nog nooit zoveel gebruik gemaakt van sneltoetsen - om code en screenshots snel en moeiteloos op de juiste plekken in te vullen. Met een muis had ik dit nooit gekund. Bij Digitale Fitheid hameren we niet voor niets op het leren van sneltoetsen; ALT+tab voorop in het kunnen bedienen van een computer.
Sinds afgelopen week voel ik me comfortabeler met code dan ooit en kan ik ineens van alles rondom informatie en analyse zelf oplossen.
Alsof ik weer acht ben en mijn eerste dozen LEGO heb! Of alsof ik na wat geklungel op een piano ineens een ouverture kan spelen.
Dat wilde enthousiasme - dat is precies waar dit project over gaat. Niet over perfecte programmeervaardigheden, maar over ontdekken dat je veel meer kunt dan je dacht.
Programmeren Herdefiniëren
Traditioneel programmeren vereiste jaren studie om syntax te leren. Maar modern "programmeren" met AI-ondersteuning draait veel meer om:
- Complexe dingen in stapjes verdelen: Uitdagingen opdelen in hanteerbare stukken
- Systeemarchitectuur: Begrijpen hoe onderdelen samenwerken
- Iteratief verbeteren: FIX na FIX toevoegen tot het systeem robuust is
- Menselijke logica: Uitzonderingen en randgevallen voorzien waar AI faalt
Die randgevallen zijn trouwens een verhaal apart - het zijn die irritante situaties waar je systeem normaal gesproken zou struikelen: e-mails zonder onderwerp, iemand die "Jan van de Berg B.V." als bedrijfsnaam gebruikt (is "Jan" nu een persoon of onderdeel van een bedrijfsnaam?), bijlagen met rare karakters zoals "Budget_2023_v3_FINAL(2)_echt_definitief.xlsx", of spam met gekke tekens. Voor elk van die hoofdpijndossiers heb ik een slimme oplossing bedacht.
Wat ik allemaal onderweg tegenkwam en oppikte
Zonder fancy programmeeromgeving of formele programmeerachtergrond werd een professionele semantische transformatie-engine ontwikkeld. Door heel veel heen en weer gepraat tussen mij en ChatGPT en halve code die niet deed wat ik wilde, kwam ik in aanraking met:
- MIME-decoding en e-mailstructuren - E-mails zijn eigenlijk ingewikkelde bestanden met bijlagen, HTML en platte tekst door elkaar. MIME is de techniek om dat allemaal uit elkaar te pluizen.
- JSON-handling voor gestructureerde data - JSON is een manier om informatie netjes gestructureerd op te slaan, zoals een digitaal receptenboek met vaste indeling.
- Argparse voor command-line interfaces - Zodat je het programma kunt aansturen met commando's zoals "verwerk deze map" of "sla dit op daar".
- Regular expressions voor patroonherkenning - Slimme zoekpatronen die bijvoorbeeld alle telefoonnummers of e-mailadressen uit een tekst kunnen vissen.
- Kennisrepresentatie via emoji's, YAML en Markdown - Manieren om informatie zo op te slaan dat zowel mensen als computers er mee kunnen werken.
Digitale verhuizing stapjes
In essentie doet het systeem een digitale verhuizing in drie stappen:
- Eruit halen: E-mails uit je Gmail-bestanden vissen
- Omvormen: Die rommelige e-mails omzetten naar nette, gestructureerde bestanden
- Erin stoppen: Die nette bestanden in Obsidian zetten zodat je erin kunt zoeken en navigeren
Kwaliteit boven kwantiteit
Veel ervaren software engineers produceren nog steeds spaghetti-code. Dit project kenmerkt zich door:
- Heldere, begrijpelijke documentatie
- Per blok uitlegbare functionaliteit
- Doorlopend iteratief verbeterproces (FIX1 t/m FIX12)
- Bewuste architectuurkeuzes
De hoofdonderdelen van mijn systeem
Stap 1: Al Mijn Oude E-mails Slim Uitlezen
Je Gmail-archief van ruim een decennium wordt niet alleen geconverteerd naar leesbare tekst, maar geherstructureerd tot kennisobjecten. Het systeem herkent automatisch:
- Personen en hun rollen
- Organisaties en hun context
- Geografische locaties
- Boektitels en referenties
- Wanneer en hoe vaak je contact had
Deze elementen worden gekoppeld aan Obsidian-wikilinks, waardoor ze onderdeel worden van een groter kennisnetwerk.
Stap 2: Van Chaos naar Overzichtelijke Kaart
Het systeem neemt elke e-mail apart en haalt er systematisch informatie uit: wanneer werd deze verstuurd, door wie, naar wie, wat staat er in de onderwerpregel, zijn er bijlagen? Al die losse gegevens worden netjes gestructureerd en gelabeld. Na duizenden e-mails ontstaat er uit je vroeger chaotische Gmail-archief ineens een overzichtelijke kaart van jaren communicatie - waarbij je niet alleen kunt zoeken op woorden, maar ook kunt navigeren via personen, projecten of tijdsperiodes.
Stap 3: Vangnetjes Voor Waar AI Het Verkeerd Doet
In plaats van alles aan AI over te laten, zijn slimme vangnetjes ingebouwd voor situaties waar AI het verkeerd doet:
- Voornaamherkenning: Het systeem weet welke woorden namen zijn (anders denkt het dat "Jan" misschien een bedrijf is) - omdat ik een hele voornamen-database met bijna tienduizend voornamen downloadde en eraan vast wist te knopen
- Bedrijfsherkenning: Als het niet weet wat "microsoft.com" voor organisatie is, gebruikt het gewoon "Microsoft"
- Boekherkenning: Het herkent patronen die eruitzien als boektitels
- Bestandsnaam-opruiming: Rommelige bestandsnamen worden netjes en consistent gemaakt
Deze hybride benadering zorgt ervoor dat het systeem betrouwbaar werkt - terwijl AI soms gewoon een gokje doet en er naast zit, vangen mijn vangnetjes die fouten op.
Het groeit mee met wat je nodig hebt
Elke FIX en uitbreiding functioneert als een LEGO-component dat perfect in het grotere geheel klikt. Of je nu één mail verwerkt of honderdduizend, het script blijft stabiel, uitlegbaar en onderhoudbaar.
Wat dit Project Demonstreert
Persoonlijk Kennismanagement Herdefiniëren
Dit project liet me zien dat Personal Knowledge Management voor mij verder ging dan notities maken. Waar anderen misschien tevreden zijn met een simpele notitie-app, had ik behoefte aan het verbinden van mijn hele digitale geschiedenis. De P van persoonlijk betekent dat iedereen zijn eigen weg vindt.
ChatGPT en ik als bouwteam
Ik bedenk wat er moet gebeuren, ChatGPT typt de code. Maar ik moet wel scherp blijven - anders krijg je werkende code die het verkeerde doet! Het variëren op wat ChatGPT voorstelt tot het precies doet wat ik bedoel, dat is waar de magie zit. Net zo lang doorvragen en aanpassen tot het niet alleen technisch klopt, maar ook echt bruikbaar is voor mijn manier van werken.
Wat Ik nu allemaal kan en een week geleden nog niet
Het eindproduct is geen stoffig archief, maar een werkend kennissysteem waar ik echt iets mee kan:
- Projecten reconstrueren: "Hoe ging dat ook alweer met die website van vorig jaar?" - binnen een minuut heb ik alle relevante e-mails
- Vergeten contacten terugvinden: "Wie was die consultant die Jan me aanraadde?" - gewoon zoeken op Jan + consultant
- Patronen ontdekken: Ik zie nu bijvoorbeeld dat ik altijd in januari veel e-mail over planning en doelen stuur
- Context terughalen: Bij een nieuwe e-mail van iemand kan ik meteen zien wat onze geschiedenis is
Praktische Toepassingen
Het is direct handig:
- Snel terugvinden: "Wat was ook alweer de planning voor dat project?" - even zoeken en ik heb alle e-mails
- Patronen zien: "Hé, ik mail blijkbaar elke december over budgetten" - dingen die je anders nooit opvalt
- Vergeten details: "Wanneer had ik die afspraak gemaakt?" - gewoon zoeken op naam + afspraak
- Alles is verbonden: Namen en onderwerpen zijn automatisch klikbaar gemaakt, zodat ik kan doorklikken van persoon naar persoon en van project naar project - in plaats van losse e-mails in mappen
- Leren van mezelf: "Hoe pakte ik dit aan in 2019?" - ik kan letterlijk teruglezen hoe ik soortgelijke situaties toen aanpakte
- Patronen in mijn gedrag: Ik zie nu bijvoorbeeld dat ik altijd in december ga plannen, of met welke mensen ik eigenlijk het meest mail
Misschien heb jij ook wel jaren aan waardevolle gesprekken en contacten die begraven liggen in je e-mailarchief. De vraag is niet óf die waarde er is, maar hoe je die terugkrijgt.
Wat er nog meer zou kunnen
- Multi-platform integratie: WhatsApp, Slack, Teams berichten
- Multimedia-analyse: Gesproken content via speech-to-text
- Netwerk analyse: Sociale netwerkkaarten van communicatiepatronen
Toen ik begon dacht ik dat ik gewoon wat oude e-mails wilde doorzoeken. Maar wat ik uiteindelijk heb gebouwd is veel krachtiger: een manier om mijn hele digitale verleden te ontsluiten en te begrijpen.
Het laat zien wat er mogelijk is als je niet accepteert dat je eigen data voor je verborgen blijft. In plaats van een passieve gebruiker van je eigen geschiedenis, word je een proactieve ontdekkingsreiziger.
Voor wie weet: misschien is dit wel de toekomst van hoe we omgaan met onze digitale sporen. Niet alles wegzetten en vergeten, maar er actief mee aan de slag.
Het laat zien wat er mogelijk is als je niet accepteert dat je eigen data voor je verborgen blijft. In plaats van een passieve gebruiker van je eigen geschiedenis, word je een proactieve ontdekkingsreiziger.
Voor wie weet: misschien is dit wel de toekomst van hoe we omgaan met onze digitale sporen. Niet alles wegzetten en vergeten, maar er actief mee aan de slag.
Wat ik heb gebouwd verdient een betere naam dan "script": Een semantische transformatie-engine - en het bewijs dat je veel meer kunt dan je denkt.
"De toekomst behoort toe aan organisaties en individuen die hun eigen data kunnen begrijpen, structureren en benutten. Dit project toont een mogelijke oplossingsrichting."
Wil je ook starten met Obsidian?
Mijn boek Starten met Obsidian is te bestellen via deze link en komt in juli 2025 uit. Ik schreef het samen met AI. Zo ook dit artikel, omdat instructieteksten beter zijn met AI-ondersteuning. Wanneer deze vermelding ontbreekt bij mijn teksten, heb ik AI alleen gebruikt voor grammatica en interpunctie en schreef ik alles zelf. Mocht je dus ondanks dit alles toch nog typ- en grammaticafouten tegenkomen dan mag je ze wijden aan haast of luiheid van mijn kant. 😄
