<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Blogs on modub.nl</title><link>https://modub.nl/blog/</link><description>Recent content in Blogs on modub.nl</description><generator>Hugo</generator><language>nl-NL</language><lastBuildDate>Sat, 15 Aug 2026 11:55:45 +0200</lastBuildDate><atom:link href="https://modub.nl/blog/index.xml" rel="self" type="application/rss+xml"/><item><title>Twaalf minuten radio over mijn digitale rommel</title><link>https://modub.nl/blog/twaalf-minuten-radio-over-mijn-digitale-rommel/</link><pubDate>Sat, 15 Aug 2026 11:55:45 +0200</pubDate><guid>https://modub.nl/blog/twaalf-minuten-radio-over-mijn-digitale-rommel/</guid><description>&lt;p&gt;Vanochtend zat ik bij NPO Radio 1, bij Nieuwsweekend, te praten over mijn digitale rommel. Twaalf minuten lang. Op de radio. Over foto&amp;rsquo;s die ik nooit meer terugkijk en een AI-agentje dat ik Margareta noemde.&lt;/p&gt;
&lt;p&gt;Dat is niet iets wat je zomaar overkomt. Dus hoe kwam ik daar terecht?&lt;/p&gt;
&lt;h2 id="de-aanleiding-een-blogpost-uit-januari"&gt;De aanleiding: een blogpost uit januari&lt;/h2&gt;
&lt;p&gt;In januari schreef ik over &lt;a href="https://modub.nl/blog/opruimen-met-een-digitale-opruimcoach/"&gt;Margareta&lt;/a&gt;, de AI-opruimcoach die ik zelf bouwde om mijn vijftien jaar aan digitale rommel aan te pakken. Niks bijzonders, gewoon een blogpost zoals ik er wel meer schrijf. Uw Monique deelt haar geklungel, in de hoop dat iemand zich erin herkent.&lt;/p&gt;</description></item><item><title>Ik dacht dat ik het al wist: mijn recensie over Informatieautonomie van Martijn Aslander</title><link>https://modub.nl/blog/ik-dacht-dat-ik-het-al-wist/</link><pubDate>Thu, 30 Jul 2026 09:00:00 +0200</pubDate><guid>https://modub.nl/blog/ik-dacht-dat-ik-het-al-wist/</guid><description>&lt;p&gt;Martijn Aslander stuurde me zijn boek &lt;a href="https://informatieautonomie.nl/"&gt;Informatieautonomie&lt;/a&gt; een tijdje geleden op. Het duurde een tijdje voordat ik het las en uitlas. Niet omdat ik het niet wilde lezen, maar eerst was ik op vakantie, en dit voelde toch wel als iets dat met werk te maken had. Dus ik parkeerde dit non-fictieboek voor na mijn vakantie (op vakantie wil ik een boek met een lijk, een onbetrouwbare verteller en verder helemaal niets, geen documentbeheer). Sowieso heb ik een beetje een probleem met non-fictie: &amp;rsquo;s avonds in bed wil ik rust, niet nadenken. En dit boek zet je juist enorm aan het denken.&lt;/p&gt;</description></item><item><title>Ik heb een leesprobleem</title><link>https://modub.nl/blog/ik-heb-een-leesprobleem/</link><pubDate>Sun, 12 Apr 2026 09:00:00 +0200</pubDate><guid>https://modub.nl/blog/ik-heb-een-leesprobleem/</guid><description>&lt;p&gt;Ik heb Readwise opgezegd. Niet omdat het slecht is, ik las het gewoon niet meer. En bijna tien euro per maand betalen voor iets dat ik niet gebruik vind ik op een gegeven moment zonde.&lt;/p&gt;
&lt;p&gt;Vorig jaar leerde ik tijdens de &lt;a href="https://digitalefitheid.nl/leergang/"&gt;Leergang Digitale Fitheid&lt;/a&gt; over Readwise Reader. Ik merkte dat het opslaan van artikelen die ik wilde bewaren of nog lezen een beetje omslachtig was geworden. Readwise leek dé oplossing.
Maar na een paar maanden zag ik een patroon. Voor Readwise had ik Feedbin. Voor Feedbin had ik Pocket. En voor Pocket had ik Feedly. Steeds dezelfde route: enthousiast feeds toevoegen, een paar weken trouw lezen, dan langzaam afhaken. Op een gegeven moment open ik de app niet meer en blijft alleen het schuldige gevoel over dat ik er nog steeds voor betaal.&lt;/p&gt;</description></item><item><title>Ik schrijf een boek en niemand mag het weten</title><link>https://modub.nl/blog/ik-schrijf-een-boek-en-niemand-mag-het-weten/</link><pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate><guid>https://modub.nl/blog/ik-schrijf-een-boek-en-niemand-mag-het-weten/</guid><description>&lt;p&gt;De afgelopen maanden was het stil op dit blog. Niet omdat ik niks deed. Eerder het tegenovergestelde: ik was bezig met iets waar ik niet over kon schrijven.&lt;/p&gt;
&lt;p&gt;Ik schrijf een boek.&lt;/p&gt;
&lt;p&gt;Een thriller, om precies te zijn. Onder een pseudoniem dat ik hier niet ga noemen, want dat is een beetje het punt. Mijn moeder leest Kobo Plus. Ze heeft het abonnement inmiddels drie keer uitgelezen, of zo voelt het tenminste. Het wordt steeds lastiger voor haar om boeken te vinden die ze nog niet heeft gelezen in het genre dat ik zelf voor het gemak &amp;lsquo;Boomer Chick Lit&amp;rsquo; noem. En op een avond dacht ik: wat als ik nou eens boeken voor haar ga schrijven?&lt;/p&gt;</description></item><item><title>Van WordPress plugin naar workshop</title><link>https://modub.nl/blog/van-wordpress-plugin-naar-workshop/</link><pubDate>Sat, 21 Feb 2026 00:00:00 +0000</pubDate><guid>https://modub.nl/blog/van-wordpress-plugin-naar-workshop/</guid><description>&lt;p&gt;In november bouwde ik een plugin. Niet omdat ik dat van plan was, maar omdat ik mijn WordPress-site statisch wilde maken om hem gratis te kunnen hosten op Kinsta. Je hebt dan twee opties: of je zoekt een bestaande plugin die dat doet, of je bouwt zelf iets. Ik probeerde het eerst met Simply Static, maar dat deed niet helemaal wat ik wilde. Dus bouwde ik zelf een plugin en dat werd de &lt;a href="https://github.com/mdubbelm/static-site-exporter"&gt;Static Site Exporter&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>"Verdomme," zei de AI</title><link>https://modub.nl/blog/verdomme-zei-de-ai/</link><pubDate>Thu, 12 Feb 2026 00:00:00 +0000</pubDate><guid>https://modub.nl/blog/verdomme-zei-de-ai/</guid><description>&lt;p&gt;Ik werk samen met een AI om mijn eigen thuisserver te beheren. Een Raspberry Pi — een minicomputertje ter grootte van een pakje boter, waar ik mijn foto&amp;rsquo;s en muziek op bewaar. De AI heet Claude Code en draait in mijn terminal. Ik typ wat ik wil, Claude geeft me commando&amp;rsquo;s, en die voer ik uit.&lt;/p&gt;
&lt;p&gt;Die samenwerking werkt verrassend goed. Claude weet hoe servers werken, ik weet wat ik wil. Claude typt de technische commando&amp;rsquo;s, ik plak ze in mijn terminal en druk op enter. Als er iets misgaat, legt Claude uit wat er aan de hand is en geeft een nieuw commando. Een soort geduldige systeembeheerder die &amp;rsquo;s avonds laat nog rustig antwoord geeft.&lt;/p&gt;</description></item><item><title>Vier uur met Claude op de server</title><link>https://modub.nl/blog/vier-uur-met-claude-op-de-server/</link><pubDate>Mon, 26 Jan 2026 00:00:00 +0000</pubDate><guid>https://modub.nl/blog/vier-uur-met-claude-op-de-server/</guid><description>&lt;p&gt;Gisteravond wilde ik &amp;ldquo;even&amp;rdquo; Nextcloud installeren op een server. Een vervanger voor OneDrive en Microsoft 365 - weer een stap verder in mijn reis om minder afhankelijk te zijn van big tech.&lt;/p&gt;
&lt;p&gt;Hoe moeilijk kan het zijn?&lt;/p&gt;
&lt;p&gt;Ik had hier al eerder naar gekeken, maar het leek me toen vrij complex. Allerlei serverinstellingen die ik niet snapte. Dus had ik een tijdje een hosted Nextcloud bij The Good Cloud, maar nu ik toch al zo lekker bezig ben - met Claude Code krijg ik het voor elkaar om een eigen Pi-server te draaien en storage boxes bij Hetzner in te richten - durfde ik deze stap ook wel te nemen.&lt;/p&gt;</description></item><item><title>Opruimen met een digitale opruimcoach</title><link>https://modub.nl/blog/opruimen-met-een-digitale-opruimcoach/</link><pubDate>Mon, 19 Jan 2026 00:00:00 +0000</pubDate><guid>https://modub.nl/blog/opruimen-met-een-digitale-opruimcoach/</guid><description>&lt;p&gt;Mappen in mappen in mappen. Externe schijven vol &amp;ldquo;dit zoek ik later wel uit&amp;rdquo;. Cloudaccounts waar ik het wachtwoord amper nog van weet. Vijftien jaar aan digitale rommel.&lt;/p&gt;
&lt;p&gt;Hoe pak je zoiets aan? Waar begin je als je niet eens weet wat er allemaal staat?&lt;/p&gt;
&lt;h2 id="een-specialist-maken"&gt;Een specialist maken&lt;/h2&gt;
&lt;p&gt;De oplettende lezer heeft het vast al door: ja, hier komt weer een AI-agent om de hoek kijken. Ik werk met &lt;a href="https://claude.ai/code"&gt;Claude Code&lt;/a&gt; en maak daar gespecialiseerde &amp;ldquo;agents&amp;rdquo; mee - persoonlijkheden met specifieke expertise, &lt;a href="https://modub.nl/blog/de-vrouwen-achter-mijn-ai-agents/"&gt;allemaal vernoemd naar vrouwen die iets betekend hebben&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Het droste-effect van mijn bestanden</title><link>https://modub.nl/blog/het-droste-effect-van-mijn-bestanden/</link><pubDate>Sat, 17 Jan 2026 00:00:00 +0000</pubDate><guid>https://modub.nl/blog/het-droste-effect-van-mijn-bestanden/</guid><description>&lt;h2 id="digitaal-döstädning"&gt;Digitaal döstädning&lt;/h2&gt;
&lt;p&gt;Ken je het Zweedse concept &lt;em&gt;döstädning&lt;/em&gt;? Ook wel Swedish Death Cleaning genoemd. Het idee is dat je je spullen opruimt zodat je nabestaanden daar later geen last van hebben. Klinkt misschien morbide, maar het is eigenlijk heel praktisch: je maakt bewuste keuzes over wat je bewaart en wat weg kan.&lt;/p&gt;
&lt;p&gt;Ik leerde erover via oud-collega Pauline, en het bleef hangen. Sayonara Marie Kondo, hej Margareta Magnusson.&lt;/p&gt;
&lt;p&gt;Nu pas ik het toe op mijn digitale leven. Want eerlijk: als ik morgen onder een bus kom (wat ik niet van plan was, no worries), heeft niemand iets aan zeven externe schijven vol &amp;ldquo;tijdelijke&amp;rdquo; mappen.&lt;/p&gt;</description></item><item><title>De steile leercurve van Immich</title><link>https://modub.nl/blog/de-steile-leercurve-van-immich/</link><pubDate>Sun, 11 Jan 2026 00:00:00 +0000</pubDate><guid>https://modub.nl/blog/de-steile-leercurve-van-immich/</guid><description>&lt;p&gt;Ik heb nu een paar weken een Raspberry Pi draaien met Immich erop. 50.000+ foto&amp;rsquo;s. Een externe schijf eraan. Alles netjes geïndexeerd met gezichtsherkenning en een kaart waar je op kunt klikken, en eerlijk gezegd is het best gaaf om te zien hoe dat allemaal werkt op zo&amp;rsquo;n klein computertje dat naast mijn router staat te zoemen.&lt;/p&gt;
&lt;p&gt;Maar hè hè. Wat is het soms een gepuzzel.&lt;/p&gt;
&lt;h2 id="delen-is-niet-echt-delen"&gt;Delen is niet echt delen&lt;/h2&gt;
&lt;p&gt;Vandaag wilde ik mijn fotoarchief delen met mijn vriend. Simpel toch?&lt;/p&gt;</description></item><item><title>De verdwenen 53.000 foto's (en hoe we ze terugvonden)</title><link>https://modub.nl/blog/de-verdwenen-53000-fotos/</link><pubDate>Fri, 09 Jan 2026 22:00:00 +0100</pubDate><guid>https://modub.nl/blog/de-verdwenen-53000-fotos/</guid><description>&lt;p&gt;Ik wist dat er duplicaten in mijn fotobibliotheek zaten. Heel veel duplicaten. Jaren van &amp;ldquo;even snel kopiëren&amp;rdquo; naar verschillende mappen, backups van backups, exports uit Apple Photos. Je kent het wel.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://modub.nl/blog/mijn-eigen-fotobibliotheek"&gt;Vorige week schreef ik over mijn Immich-avontuur&lt;/a&gt; - ik had het aan de praat gekregen - na eerst per ongeluk 235.000 foute imports te hebben gemaakt. Nu wilde ik die duplicaten aanpakken.&lt;/p&gt;
&lt;p&gt;Immich heeft een handige functie om duplicaten te vinden. Je gaat naar Hulpprogramma&amp;rsquo;s, klikt op duplicaten, en dan toont hij alle foto&amp;rsquo;s die op elkaar lijken.&lt;/p&gt;</description></item><item><title>Mijn Poezenkrant-collectie bijhouden met Claude Code en Obsidian</title><link>https://modub.nl/blog/poezenkrant-in-obsidian/</link><pubDate>Tue, 06 Jan 2026 00:00:00 +0000</pubDate><guid>https://modub.nl/blog/poezenkrant-in-obsidian/</guid><description>&lt;p&gt;Laatst stonden we in het Stadsarchief in Amsterdam. Ze verkopen daar ook Poezenkranten, en wij stonden daar een beetje suffig te kijken naar de stapel. Welke hadden we nou eigenlijk al? Mijn vriend had ooit op een geeltje alle bestaande nummers opgeschreven met kruisjes bij de nummers die we al hebben. Maar ja, dat briefje lag thuis.&lt;/p&gt;
&lt;p&gt;Dit kon zo niet langer vond ik (mijn vriend dacht daar anders over, maar dat doet er hier niet toe).&lt;/p&gt;</description></item><item><title>Laat de AI de vragen stellen</title><link>https://modub.nl/blog/claude-code-vraaggesprek/</link><pubDate>Sun, 04 Jan 2026 20:00:00 +0100</pubDate><guid>https://modub.nl/blog/claude-code-vraaggesprek/</guid><description>&lt;p&gt;&amp;ldquo;Ik overzie het niet.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Dat typte ik vanmiddag naar Claude Code. Niet mijn meest eloquente moment, maar wel eerlijk.&lt;/p&gt;
&lt;h2 id="te-veel-informatie"&gt;Te veel informatie&lt;/h2&gt;
&lt;p&gt;Ik ben bezig met &lt;a href="https://modub.nl/blog/mijn-eigen-fotobibliotheek"&gt;mijn homeserver&lt;/a&gt; – Raspberry Pi, Immich voor foto&amp;rsquo;s, Navidrome voor muziek. Het werkt, maar ik wilde de aanpak eens laten reviewen. Mis ik iets? Doe ik het goed?&lt;/p&gt;
&lt;p&gt;Dus vroeg ik Claude Code om de relevante agents&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; in te schakelen: Limor (homeserver specialist) en Grace (backup specialist). Die kwamen met vragen waar ik zelf helemaal niet aan had gedacht. Backup strategie? Monitoring? Wat als de stroom uitvalt? Wat als de Pi crasht terwijl ik niet thuis ben?&lt;/p&gt;</description></item><item><title>Mijn eigen fotobibliotheek (en hoe ik 'm bijna opblies)</title><link>https://modub.nl/blog/mijn-eigen-fotobibliotheek/</link><pubDate>Sun, 04 Jan 2026 12:00:00 +0100</pubDate><guid>https://modub.nl/blog/mijn-eigen-fotobibliotheek/</guid><description>&lt;p&gt;Nou, dat was even schrikken. Ik keek in mijn gloednieuwe fotobibliotheek en zag 289.000 foto&amp;rsquo;s. Terwijl ik er ca. 55.000 heb. Vijf keer zoveel. Oeps.&lt;/p&gt;
&lt;h2 id="van-navidrome-naar-immich"&gt;Van Navidrome naar Immich&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://modub.nl/blog/terug-naar-mijn-muziek"&gt;Een paar dagen geleden&lt;/a&gt; had ik Navidrome aan de praat gekregen voor mijn muziek. De Raspberry Pi draait, de externe schijf is gemount, alles werkt. Dus logisch: nu de foto&amp;rsquo;s.&lt;/p&gt;
&lt;p&gt;Immich is een open source alternatief voor Google Photos en iCloud Photos. Je installeert het via Docker, koppelt je fotomap, en het indexeert alles met gezichtsherkenning, locaties, en zelfs zoeken op wat er in de foto staat. Klinkt ingewikkeld, is het eigenlijk niet.&lt;/p&gt;</description></item><item><title>Opnieuw thuiskomen</title><link>https://modub.nl/blog/thuiskomen/</link><pubDate>Fri, 02 Jan 2026 12:00:00 +0100</pubDate><guid>https://modub.nl/blog/thuiskomen/</guid><description>&lt;p&gt;Ik had het eerlijk gezegd een beetje opgegeven, dat community-gevoel. Maar toen ging ik ongeveer een jaar geleden voor het eerst naar een &lt;a href="https://start.digitalefitheid.nl/home"&gt;Digitale Fitheid meetup&lt;/a&gt; in Utrecht. En jeuj, daar was het weer!&lt;/p&gt;
&lt;p&gt;Dat klinkt misschien overdreven. Is het niet.&lt;/p&gt;
&lt;h2 id="show--tell-en-thematafels"&gt;Show &amp;amp; tell en thematafels&lt;/h2&gt;
&lt;p&gt;De meetups zijn elke maand bij Wonders of Work (vroeger Seats2Meet), vlakbij Utrecht Centraal. Van een uur of tien tot vijf, maar niemand kijkt op de klok. &amp;rsquo;s Ochtends is er show &amp;amp; tell: mensen delen waar ze mee bezig zijn, wat ze geleerd hebben, of waar ze tegenaan lopen. &amp;rsquo;s Middags ga je aan thematafels aan de slag – denk aan Obsidian, AI-tools, of gewoon &amp;ldquo;ik wil dit uitzoeken en zoek hulp&amp;rdquo;.&lt;/p&gt;</description></item><item><title>Terug naar mijn muziek (via een omweg)</title><link>https://modub.nl/blog/terug-naar-mijn-muziek/</link><pubDate>Tue, 30 Dec 2025 20:00:00 +0100</pubDate><guid>https://modub.nl/blog/terug-naar-mijn-muziek/</guid><description>&lt;p&gt;Twee dagen geleden las ik &lt;a href="https://blog.frankmeeuwsen.com/2025/12/28/mijn-eigen-streaming-muziekserver.html"&gt;Frank Meeuwsen&amp;rsquo;s post over zijn eigen muziekserver&lt;/a&gt;. Een uurtje later had ik Plex draaien.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;De kerstvakantie is lang niet zo leuk geweest als deze! Ik luister al de hele middag naar langvervlogen muziekjes en Claude Code heeft zelfs verloren mappen met platen en oude iTunes playlists geëxporteerd en weer tot leven gewekt. Ik kraai nog net niet van plezier.&lt;/p&gt;
&lt;p&gt;— &lt;a href="https://mastodon.social/@Mdubbelm/115805043306348602"&gt;mijn reactie op Mastodon&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;En eerlijk: ik had dit veel eerder moeten doen.&lt;/p&gt;</description></item><item><title>Comments en Mastodon: op zoek naar een simpele workflow</title><link>https://modub.nl/blog/comments-en-mastodon-op-zoek-naar-een-simpele-workflow/</link><pubDate>Sun, 28 Dec 2025 17:00:00 +0100</pubDate><guid>https://modub.nl/blog/comments-en-mastodon-op-zoek-naar-een-simpele-workflow/</guid><description>&lt;p&gt;Tot voor kort draaide deze site op WordPress. Daar zijn comments gewoon geregeld: mensen reageren, jij modereert, klaar. Wat WordPress niet goed doet is automatisch doorplaatsen naar social media — daar heb je plugins voor nodig die vaak matig werken of geld kosten.&lt;/p&gt;
&lt;p&gt;Nu zit ik op Hugo, een statische site generator. Sneller, goedkoper te hosten, maar geen ingebouwde comments. Dus wilde ik twee dingen: mijn blogposts automatisch op Mastodon krijgen, en reacties vanuit Mastodon onder mijn posts tonen. Klinkt simpel toch? Nou, dat viel tegen.&lt;/p&gt;</description></item><item><title>Reality check, even een pas op de plaats</title><link>https://modub.nl/blog/reality-check-even-een-pas-op-de-plaats/</link><pubDate>Mon, 22 Dec 2025 10:00:00 +0100</pubDate><guid>https://modub.nl/blog/reality-check-even-een-pas-op-de-plaats/</guid><description>&lt;p&gt;Ik luister altijd met veel plezier naar de &lt;a href="https://podcasts.apple.com/nl/podcast/van-dis-ongefilterd/id1708223580"&gt;podcast van Adriaan van Dis&lt;/a&gt;. Het is een goede realiteitscheck. En hoewel hij zich er weinig over uitspreekt, ging het afgelopen zaterdag even over kunstmatige intelligentie.&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Denk zelf nou,&amp;rdquo; zei Van Dis. En: &amp;ldquo;Ze hebben mij niet gevraagd of ik het goed vind.&amp;rdquo;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="het-ongemak"&gt;Het ongemak&lt;/h2&gt;
&lt;p&gt;Wie dit blog leest of mij recent heeft gesproken, heeft het al gemerkt: ik heb me nogal verloren in enthousiasme over programmeren met AI. In korte tijd bouwde ik diverse apps, zette ik oude WordPress websites live en schreef ik blogposts over mijn bouwproces.&lt;/p&gt;</description></item><item><title>Claude Code in de terminal of in de desktop app?</title><link>https://modub.nl/blog/terminal-vs-desktop-app/</link><pubDate>Sat, 20 Dec 2025 14:00:00 +0100</pubDate><guid>https://modub.nl/blog/terminal-vs-desktop-app/</guid><description>&lt;p&gt;Op de &lt;a href="https://start.digitalefitheid.nl/c/agenda/meet-greet-learn-43"&gt;Digitale Fitheid meetup&lt;/a&gt; deze week vroeg iemand waarom ze de Desktop app van Claude niet kon gebruiken voor haar projecten. Goede vraag. Ik gebruik zelf vooral de terminal, maar waarom eigenlijk?&lt;/p&gt;
&lt;p&gt;Tijd om uit te zoeken wat de verschillen zijn. Spoiler: ze zijn kleiner dan ik dacht.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="eerst-even-context"&gt;Eerst even context&lt;/h2&gt;
&lt;p&gt;Claude Code zit pas sinds eind november 2025 in de Desktop app. Daarvoor was het alleen beschikbaar in de terminal. Nu kun je in beide omgevingen coderen, debuggen en projecten managen — inclusief git en andere tools.&lt;/p&gt;</description></item><item><title>Van kennisbank naar zelflerende kennisbank</title><link>https://modub.nl/blog/van-kennisbank-naar-zelflerende-kennisbank/</link><pubDate>Wed, 17 Dec 2025 14:00:00 +0100</pubDate><guid>https://modub.nl/blog/van-kennisbank-naar-zelflerende-kennisbank/</guid><description>&lt;p&gt;Twee weken geleden schreef ik over &lt;a href="https://modub.nl/blog/kennisbank-opbouwen-met-ai/"&gt;mijn kennisbank opbouwen&lt;/a&gt;. Vandaag maakte ik hem slimmer. De aanleiding? Een blogartikel van Martijn Aslander.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="de-aanleiding"&gt;De aanleiding&lt;/h2&gt;
&lt;p&gt;Martijn Aslander schreef een artikel met de titel &lt;a href="https://world.hey.com/martijnaslander/ik-zit-op-iets-bijzonders-en-ik-krijg-het-niet-uitgelegd-294621fa"&gt;&amp;ldquo;Ik zit op iets bijzonders en ik krijg het niet uitgelegd&amp;rdquo;&lt;/a&gt;. Hij bouwt apps met AI, maar waar hij echt over schrijft is &lt;em&gt;informatieliquiditeit&lt;/em&gt;: kennis die niet opgesloten zit in losse bestanden, maar doorzoekbaar en verbonden is op basis van betekenis.&lt;/p&gt;</description></item><item><title>De vrouwen achter mijn AI agents</title><link>https://modub.nl/blog/de-vrouwen-achter-mijn-ai-agents/</link><pubDate>Tue, 16 Dec 2025 09:00:00 +0100</pubDate><guid>https://modub.nl/blog/de-vrouwen-achter-mijn-ai-agents/</guid><description>&lt;p&gt;Het begon eigenlijk als een praktisch dingetje. Ik had inmiddels een heel team aan AI agents opgebouwd — een UX designer, een frontend developer, een accessibility expert — en ik moest ze ergens een naam geven. Gewoon voor de herkenbaarheid, zodat ik wist wie ik &amp;ldquo;aansprak&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;En toen dacht ik: als ik toch namen moet verzinnen, waarom dan niet namen die ergens voor staan?&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="ada-grace-en-hedy"&gt;Ada, Grace en Hedy&lt;/h2&gt;
&lt;p&gt;De eerste drie waren een no-brainer. &lt;a href="https://en.wikipedia.org/wiki/Ada_Lovelace"&gt;Ada Lovelace&lt;/a&gt;, de allereerste computerprogrammeur. &lt;a href="https://en.wikipedia.org/wiki/Grace_Hopper"&gt;Grace Hopper&lt;/a&gt;, die de eerste compiler schreef en de term &amp;ldquo;debugging&amp;rdquo; bedacht (er zat letterlijk een mot in de computer). En &lt;a href="https://en.wikipedia.org/wiki/Hedy_Lamarr"&gt;Hedy Lamarr&lt;/a&gt;, die naast filmster ook uitvinder was van frequentiesprong-technologie — de voorloper van wifi en bluetooth.&lt;/p&gt;</description></item><item><title>Van kalender naar stipjes</title><link>https://modub.nl/blog/habittracker-daylio-dots/</link><pubDate>Fri, 12 Dec 2025 20:00:00 +0100</pubDate><guid>https://modub.nl/blog/habittracker-daylio-dots/</guid><description>&lt;p&gt;&lt;strong&gt;Vorige:&lt;/strong&gt; &lt;a href="https://modub.nl/blog/habittracker-106-tests-later/"&gt;106 tests later&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Soms begin je ergens en eindig je heel ergens anders.&lt;/p&gt;
&lt;p&gt;Ik wilde een kalenderoverzicht. Zoals Daylio dat heeft: een maand met gekleurde cirkeltjes die je stemming per dag laten zien. In één oogopslag zie je patronen. Veel groen? Goede maand. Clusters van rood? Tijd om eens te kijken wat er speelt.&lt;/p&gt;
&lt;h2 id="de-eerste-versie"&gt;De eerste versie&lt;/h2&gt;
&lt;p&gt;Claude bouwde een keurige kalender. Met maandnavigatie, weekdagen bovenaan, dagnummers in de vakjes. Plus een uitklapbaar paneel als je op een dag klikte met alle details van die dag.&lt;/p&gt;</description></item><item><title>Jack of all trades</title><link>https://modub.nl/blog/jack-of-all-trades/</link><pubDate>Fri, 12 Dec 2025 09:00:00 +0100</pubDate><guid>https://modub.nl/blog/jack-of-all-trades/</guid><description>&lt;p&gt;Lang heb ik het als een nadeel gezien. Jack of all trades, master of none. Ik weet van alles net niks en kan niks écht goed. Geen specialist. Geen expert. Gewoon iemand die overal een beetje van snapt — en dus overal over kan meepraten. Maar dat zorgde er blijkbaar ook voor dat mensen mijn kennis op bepaalde gebieden enorm overschatten.&lt;/p&gt;
&lt;h2 id="de-drukkerij"&gt;De drukkerij&lt;/h2&gt;
&lt;p&gt;In de offset drukkerij waar ik werkte kon ik niet drukken. Dat deden de drukkers, met hun inkt onder de nagels en hun jarenlange ervaring met het afstellen van de pers. Ik werkte op kantoor — offertes maken, papier bestellen, facturen versturen. De grafische opleiding had ik ooit gedaan omdat ik zo creatief was, maar mijn werkzame leven zag er vooral administratief uit. Toch kon ik de wensen van de klant vertalen naar wat er technisch mogelijk was. En ik kon problemen herkennen — een vlek in de afdruk, een verloop dat niet klopte, een stansvorm die niet paste — zonder ze zelf te hoeven oplossen. Ik zag wat er mis was, en kon het aanwijzen aan iemand die het wél kon fixen.&lt;/p&gt;</description></item><item><title>106 tests later</title><link>https://modub.nl/blog/habittracker-106-tests-later/</link><pubDate>Fri, 12 Dec 2025 00:00:00 +0000</pubDate><guid>https://modub.nl/blog/habittracker-106-tests-later/</guid><description>&lt;p&gt;&lt;strong&gt;Vorige:&lt;/strong&gt; &lt;a href="https://modub.nl/blog/habittracker-de-onzichtbare-poortwachter/"&gt;De onzichtbare poortwachter&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Een knop die verdwijnt. Data die niet opslaat. Features die opeens stoppen met werken. Dit soort bugs zijn frustrerend, vooral als je ze pas ontdekt wanneer je de app zelf gebruikt.&lt;/p&gt;
&lt;p&gt;Tests zijn de oplossing. Kleine stukjes code die automatisch checken of alles nog werkt. Elke keer als je iets aanpast, drukken ze op alle knoppen en controleren ze of de app zich gedraagt zoals verwacht. Vandaag schreef ik er 106.&lt;/p&gt;</description></item><item><title>Carottes grillées is terug online</title><link>https://modub.nl/blog/carottes-grillees-terug-online/</link><pubDate>Wed, 10 Dec 2025 10:00:00 +0100</pubDate><guid>https://modub.nl/blog/carottes-grillees-terug-online/</guid><description>&lt;p&gt;Al jaren was de website van Jacob offline. De vormgeving was kapot, de site zag er niet uit, en we hadden er gewoon geen fut voor om het aan te pakken. Tot afgelopen zaterdagavond.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="een-korte-geschiedenis"&gt;Een korte geschiedenis&lt;/h2&gt;
&lt;p&gt;Carottes grillées begon ooit in Joomla. Toen Joomla 1.5 end-of-life ging, migreerden we naar een nieuwere Joomla-versie. Dat was al een heel gedoe. Daarna, ergens rond 2015, overgezet naar WordPress. Ook een hele klus.&lt;/p&gt;</description></item><item><title>Bugs melden vanaf de bank — een iOS Shortcut voor GitHub Issues</title><link>https://modub.nl/blog/bugs-melden-vanaf-de-bank/</link><pubDate>Mon, 08 Dec 2025 09:00:00 +0100</pubDate><guid>https://modub.nl/blog/bugs-melden-vanaf-de-bank/</guid><description>&lt;p&gt;Je kent het wel. Je zit op de bank je eigen app te testen op je telefoon, en dan zie je het: een bug. Of je bedenkt ineens een feature die er echt in moet.&lt;/p&gt;
&lt;p&gt;En dan? Laptop opstarten, GitHub openen, screenshot maken, afbeelding uploaden (waar eigenlijk?), issue aanmaken&amp;hellip; Voor je het weet ben je een kwartier verder en is het moment foetsie.&lt;/p&gt;
&lt;p&gt;Dus bouwde ik een iOS Shortcut (werkt op iPhones, iPads en andere Macs). Eén tik vanuit het deelmenu, titel intypen, klaar. De issue staat op GitHub, mét screenshot, mét de URL van de pagina, mét het juiste label.&lt;/p&gt;</description></item><item><title>Ik kan nu alles maken</title><link>https://modub.nl/blog/ik-kan-nu-alles-maken/</link><pubDate>Sat, 06 Dec 2025 10:00:00 +0100</pubDate><guid>https://modub.nl/blog/ik-kan-nu-alles-maken/</guid><description>&lt;p&gt;Alexander Klöpping had een doorbraak. In de laatste aflevering van AI Report vertelt hij hoe hij als niet-programmeur in één dag een werkende tool bouwde met Claude. Cursor&amp;rsquo;s nieuwe agent mode verbergt alle code — je ziet alleen een chatvenster en een browser.&lt;/p&gt;
&lt;p&gt;En toen zei hij iets wat me raakte: het gevoel dat je nu &lt;em&gt;alles&lt;/em&gt; kunt maken wat je wilt.&lt;/p&gt;
&lt;p&gt;Ik herken dat.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="het-moment"&gt;Het moment&lt;/h2&gt;
&lt;p&gt;Alexander beschrijft het als &amp;ldquo;vibe coding&amp;rdquo; — je beschrijft wat je wilt, en de AI bouwt het. Hij maakte in vijf minuten een web-app voor zijn dochter om rekenopgaven te oefenen. Precies zoals zij het wilde.&lt;/p&gt;</description></item><item><title>Een kennisbank opbouwen met AI</title><link>https://modub.nl/blog/kennisbank-opbouwen-met-ai/</link><pubDate>Fri, 05 Dec 2025 22:00:00 +0100</pubDate><guid>https://modub.nl/blog/kennisbank-opbouwen-met-ai/</guid><description>&lt;p&gt;Vandaag heb ik opgeruimd. Niet mijn bureau (dat is hopeloos), maar mijn projectenmap. Wat begon als &amp;ldquo;even die losse bestanden consolideren&amp;rdquo; werd een complete herstructurering van hoe ik kennis bewaar.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="de-situatie"&gt;De situatie&lt;/h2&gt;
&lt;p&gt;Ik werk aan meerdere projecten tegelijk: een Zweedse taal-app, een gezondheids-tracker, een recepten-app, een statische website. Elk project heeft een &lt;code&gt;LEARNINGS.md&lt;/code&gt; waar ik vastleg wat ik leer. Safari bugs, iOS quirks, dat soort dingen.&lt;/p&gt;
&lt;p&gt;Het probleem? Die kennis zat verstopt. Als ik in project A een Safari-bug oploste, kon ik dat in project B niet meer terugvinden. Ik loste dezelfde problemen opnieuw op.&lt;/p&gt;</description></item><item><title>De onzichtbare poortwachter</title><link>https://modub.nl/blog/habittracker-de-onzichtbare-poortwachter/</link><pubDate>Fri, 05 Dec 2025 00:00:00 +0000</pubDate><guid>https://modub.nl/blog/habittracker-de-onzichtbare-poortwachter/</guid><description>&lt;p&gt;&lt;strong&gt;Vorige:&lt;/strong&gt; &lt;a href="https://modub.nl/blog/habittracker-bug-hunting/"&gt;De kunst van bug hunting&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Twee dagen lang werkte hetzelfde veld niet. Ik vulde &amp;ldquo;lezen&amp;rdquo; in, klikte opslaan, ging terug - en het vakje was weer leeg. Elke keer opnieuw.&lt;/p&gt;
&lt;p&gt;Dit is het verhaal van een bug die me leerde dat AI-gegenereerde code zijn eigen valkuilen heeft. En dat mijn samenwerking met Claude nog lang niet vlekkeloos is.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="de-frustratie"&gt;De frustratie&lt;/h2&gt;
&lt;p&gt;Het begon simpel. Claude had twee nieuwe velden toegevoegd: &amp;ldquo;lezen&amp;rdquo; (een checkbox) en &amp;ldquo;energie&amp;rdquo; (een emoji selector). De code zag er goed uit. De tests slaagden. Maar op mijn telefoon verdween de data gewoon.&lt;/p&gt;</description></item><item><title>AI agents als virtueel team</title><link>https://modub.nl/blog/ai-agents-als-team/</link><pubDate>Thu, 04 Dec 2025 21:00:00 +0100</pubDate><guid>https://modub.nl/blog/ai-agents-als-team/</guid><description>&lt;p&gt;Vandaag deed ik iets raars. Ik stelde een vraag aan een Product Owner, liet een UX Designer wireframes maken, en vroeg een Developer om te implementeren. Niemand van hen bestaat.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="de-situatie"&gt;De situatie&lt;/h2&gt;
&lt;p&gt;Svenska Kat is mijn Zweedse taal-app. Na maanden van feature-toevoegingen was het een rommeltje geworden: te veel klikken, te veel keuzes. Je kent het wel.&lt;/p&gt;
&lt;p&gt;Tijd om op te ruimen dus. Maar waar begin je? En hoe voorkom je dat je zomaar wat gaat slopen zonder na te denken?&lt;/p&gt;</description></item><item><title>Een onderwijskundige in mijn AI-team</title><link>https://modub.nl/blog/een-onderwijskundige-in-mijn-ai-team/</link><pubDate>Wed, 03 Dec 2025 14:00:00 +0100</pubDate><guid>https://modub.nl/blog/een-onderwijskundige-in-mijn-ai-team/</guid><description>&lt;p&gt;Vandaag realiseerde ik me dat mijn taalleer-app geen idee heeft hoe mensen leren.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="het-probleem"&gt;Het probleem&lt;/h2&gt;
&lt;p&gt;Ik bouw Svenska Kat, een app om Zweeds te leren. Er zit een &amp;ldquo;Daily Program&amp;rdquo; in: elke dag 10 zinnen oefenen. Klinkt logisch.&lt;/p&gt;
&lt;p&gt;Maar toen ik kritisch keek, zag ik het probleem:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;10 willekeurige zinnen, geen didactische logica&lt;/li&gt;
&lt;li&gt;Alleen typen en uitspraak, geen variatie&lt;/li&gt;
&lt;li&gt;Grammatica staat los van de oefeningen&lt;/li&gt;
&lt;li&gt;Geen spaced repetition, geen review&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Het was alsof ik een fitness-app had gebouwd die zegt &amp;ldquo;doe elke dag 10 oefeningen&amp;rdquo; zonder te weten welke spiergroepen je traint.&lt;/p&gt;</description></item><item><title>De kunst van bug hunting</title><link>https://modub.nl/blog/habittracker-bug-hunting/</link><pubDate>Wed, 03 Dec 2025 00:00:00 +0000</pubDate><guid>https://modub.nl/blog/habittracker-bug-hunting/</guid><description>&lt;p&gt;&lt;strong&gt;Vorige:&lt;/strong&gt; &lt;a href="https://modub.nl/blog/habittracker-mijn-eigen-gewoontes/"&gt;Mijn eigen gewoontes&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Vandaag een korte maar leerzame sessie. Geen nieuwe features, alleen bugs opruimen. En dat bleek verrassend interessant.&lt;/p&gt;
&lt;h2 id="de-lijst"&gt;De lijst&lt;/h2&gt;
&lt;p&gt;Drie issues stonden open:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;#44: Cafeïne statistieken tonen verkeerde data&lt;/li&gt;
&lt;li&gt;#45: Energie en habits worden niet opgeslagen&lt;/li&gt;
&lt;li&gt;#49: Statistieken werken niet goed&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Klinkt als een ramp. Maar de werkelijkheid was genuanceerder.&lt;/p&gt;
&lt;h2 id="de-echte-bugs"&gt;De echte bugs&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Issue #44&lt;/strong&gt; was legitiem. De app had twee formaten voor cafeïne data: een oud format (&lt;code&gt;caffeineConsumed: true/false&lt;/code&gt;) en een nieuw format (&lt;code&gt;caffeineCount: 2&lt;/code&gt;). De statistieken snapten alleen het oude format.&lt;/p&gt;</description></item><item><title>Mijn AI-team gedraagt zich als mensen</title><link>https://modub.nl/blog/mijn-ai-team-gedraagt-zich-als-mensen/</link><pubDate>Mon, 01 Dec 2025 19:30:00 +0100</pubDate><guid>https://modub.nl/blog/mijn-ai-team-gedraagt-zich-als-mensen/</guid><description>&lt;p&gt;Gisteren was ik gefrustreerd. Mijn AI-team negeerde de regels. Pushte direct naar main. Sloeg lokaal testen over. Vergat de design principles te checken.&lt;/p&gt;
&lt;p&gt;Het leken wel echte mensen.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="wat-er-mis-ging"&gt;Wat er mis ging&lt;/h2&gt;
&lt;p&gt;Twee projecten. Zweedsapp en habittracker. Dezelfde problemen.&lt;/p&gt;
&lt;p&gt;Features gingen live zonder testen. Functionaliteit die werkte, werkte ineens niet meer. Design principes die ik zorgvuldig had opgeschreven werden genegeerd.&lt;/p&gt;
&lt;p&gt;De CLAUDE.md bestanden waren uitgebreid. De regels stonden er. Maar ze werden niet gevolgd.&lt;/p&gt;</description></item><item><title>Mijn eigen gewoontes</title><link>https://modub.nl/blog/habittracker-mijn-eigen-gewoontes/</link><pubDate>Sun, 30 Nov 2025 22:00:00 +0100</pubDate><guid>https://modub.nl/blog/habittracker-mijn-eigen-gewoontes/</guid><description>&lt;p&gt;&lt;strong&gt;Vorige:&lt;/strong&gt; &lt;a href="https://modub.nl/blog/habittracker-feature-rush/"&gt;Vijf dingen af in één sessie&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Elke health tracker heeft dezelfde checkboxes. Slaap. Water. Beweging. Maar mijn leven is niet standaard.&lt;/p&gt;
&lt;p&gt;Vandaag bouwde ik custom habits.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="het-probleem-met-standaard-trackers"&gt;Het probleem met standaard trackers&lt;/h2&gt;
&lt;p&gt;Ik wil bijhouden of ik heb gemediteerd. Of ik piano heb gespeeld. Of ik die ene stretching routine heb gedaan.&lt;/p&gt;
&lt;p&gt;Geen enkele tracker heeft precies die dingen. Je kunt kiezen uit hun lijstje, maar niet je eigen toevoegen.&lt;/p&gt;
&lt;p&gt;Tot nu.&lt;/p&gt;</description></item><item><title>Vijf dingen af in één sessie</title><link>https://modub.nl/blog/habittracker-feature-rush/</link><pubDate>Sat, 29 Nov 2025 19:00:00 +0100</pubDate><guid>https://modub.nl/blog/habittracker-feature-rush/</guid><description>&lt;p&gt;&lt;strong&gt;Vorige:&lt;/strong&gt; &lt;a href="https://modub.nl/blog/habittracker-de-mens-achter-de-prompt/"&gt;De mens achter de prompt&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Soms stroomt het gewoon. Je begint met &amp;ldquo;waar was ik gebleven?&amp;rdquo; en twee uur later heb je vijf verbeteringen doorgevoerd.&lt;/p&gt;
&lt;p&gt;Vandaag was zo&amp;rsquo;n dag.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="hulp-van-een-virtuele-product-owner"&gt;Hulp van een virtuele product owner&lt;/h2&gt;
&lt;p&gt;Ik had een probleem: te veel ideeën, te weinig tijd. Wat moet ik eerst doen?&lt;/p&gt;
&lt;p&gt;Normaal zou ik gewoon beginnen met wat het leukst lijkt. Maar deze keer vroeg ik het aan &lt;strong&gt;Johanna&lt;/strong&gt; - mijn virtuele product owner.&lt;/p&gt;</description></item><item><title>De mens achter de prompt</title><link>https://modub.nl/blog/habittracker-de-mens-achter-de-prompt/</link><pubDate>Sat, 29 Nov 2025 14:00:00 +0100</pubDate><guid>https://modub.nl/blog/habittracker-de-mens-achter-de-prompt/</guid><description>&lt;p&gt;&lt;strong&gt;Vorige:&lt;/strong&gt; &lt;a href="https://modub.nl/blog/habittracker-mijn-virtuele-team/"&gt;Mijn virtuele team&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Na zeven sessies en een werkende app is het tijd voor een eerlijk gesprek. Want de verhalen hiervoor kunnen een verkeerd beeld geven.&lt;/p&gt;
&lt;h2 id="het-misverstand"&gt;Het misverstand&lt;/h2&gt;
&lt;p&gt;&amp;ldquo;De AI bouwde een app in 16 uur.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Dat is wat de cijfers zeggen. Maar het is niet het hele verhaal.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="wat-ik-doe-en-waarom-het-ertoe-doet"&gt;Wat ik doe (en waarom het ertoe doet)&lt;/h2&gt;
&lt;h3 id="de-juiste-vragen-stellen"&gt;De juiste vragen stellen&lt;/h3&gt;
&lt;p&gt;De AI kan alles bouwen. Maar alleen als je weet wat je moet vragen.&lt;/p&gt;</description></item><item><title>iOS polish - pull-to-refresh &amp; wheel picker</title><link>https://modub.nl/blog/habittracker-ios-polish/</link><pubDate>Sat, 29 Nov 2025 10:00:00 +0100</pubDate><guid>https://modub.nl/blog/habittracker-ios-polish/</guid><description>&lt;p&gt;&lt;strong&gt;Vorige:&lt;/strong&gt; &lt;a href="https://modub.nl/blog/habittracker-live/"&gt;We&amp;rsquo;re live!&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="het-moet-aanvoelen-als-een-echte-app"&gt;&amp;ldquo;Het moet aanvoelen als een echte app&amp;rdquo;&lt;/h2&gt;
&lt;p&gt;De app werkt. De app is live. Maar&amp;hellip; het voelt nog als een website.&lt;/p&gt;
&lt;p&gt;Tijd voor native feel.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="pull-to-refresh-30-min"&gt;Pull-to-refresh (30 min)&lt;/h2&gt;
&lt;p&gt;Je kent het. Trek naar beneden, de app refresht. Zo simpel, zo verwacht op iOS.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Trek naar beneden → Refresh indicator&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;80px threshold&lt;/strong&gt; voor trigger&lt;/li&gt;
&lt;li&gt;Smooth animatie&lt;/li&gt;
&lt;li&gt;&lt;code&gt;overscroll-behavior&lt;/code&gt; voor browser compatibility&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Feels:&lt;/strong&gt; Net een native app!&lt;/p&gt;
&lt;h3 id="de-code"&gt;De code&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;let&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;startY&lt;/span&gt; &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;let&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;pulling&lt;/span&gt; &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;false&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;element&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;addEventListener&lt;/span&gt;(&lt;span style="color:#e6db74"&gt;&amp;#39;touchstart&amp;#39;&lt;/span&gt;, (&lt;span style="color:#a6e22e"&gt;e&lt;/span&gt;) =&amp;gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; (window.&lt;span style="color:#a6e22e"&gt;scrollY&lt;/span&gt; &lt;span style="color:#f92672"&gt;===&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e22e"&gt;startY&lt;/span&gt; &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;e&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;touches&lt;/span&gt;[&lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;].&lt;span style="color:#a6e22e"&gt;pageY&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a6e22e"&gt;pulling&lt;/span&gt; &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;true&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;});
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;element&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;addEventListener&lt;/span&gt;(&lt;span style="color:#e6db74"&gt;&amp;#39;touchmove&amp;#39;&lt;/span&gt;, (&lt;span style="color:#a6e22e"&gt;e&lt;/span&gt;) =&amp;gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; (&lt;span style="color:#f92672"&gt;!&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;pulling&lt;/span&gt;) &lt;span style="color:#66d9ef"&gt;return&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;const&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;diff&lt;/span&gt; &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;e&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;touches&lt;/span&gt;[&lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;].&lt;span style="color:#a6e22e"&gt;pageY&lt;/span&gt; &lt;span style="color:#f92672"&gt;-&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;startY&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; (&lt;span style="color:#a6e22e"&gt;diff&lt;/span&gt; &lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;80&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;// Show indicator, trigger refresh
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;});
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Simpel. Effectief. Native feel.&lt;/p&gt;</description></item><item><title>Mijn virtuele team</title><link>https://modub.nl/blog/habittracker-mijn-virtuele-team/</link><pubDate>Sat, 29 Nov 2025 10:00:00 +0100</pubDate><guid>https://modub.nl/blog/habittracker-mijn-virtuele-team/</guid><description>&lt;p&gt;&lt;strong&gt;Vorige:&lt;/strong&gt; &lt;a href="https://modub.nl/blog/habittracker-ios-polish/"&gt;iOS polish - pull-to-refresh &amp;amp; wheel picker&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Hoe tekstbestanden me helpen denken.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="het-probleem"&gt;Het probleem&lt;/h2&gt;
&lt;p&gt;Ik was aan het bouwen, maar ik miste iets. Niet de code - die kwam wel. Maar de &lt;em&gt;richting&lt;/em&gt;. Wat moet ik eerst doen? Is dit goed genoeg? Mis ik iets?&lt;/p&gt;
&lt;p&gt;Normaal zou je dit aan collega&amp;rsquo;s vragen. Een product owner. Een designer. Een tester. Maar ik werk alleen.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="de-oplossing-virtuele-experts"&gt;De oplossing: virtuele experts&lt;/h2&gt;
&lt;p&gt;In mijn werkmap heb ik een verzameling &amp;ldquo;agents&amp;rdquo; - simpele tekstbestanden die Claude vertellen hoe hij moet denken. Het klinkt technisch, maar het is eigenlijk heel simpel.&lt;/p&gt;</description></item><item><title>We're live! 🌐</title><link>https://modub.nl/blog/habittracker-live/</link><pubDate>Fri, 28 Nov 2025 00:00:00 +0000</pubDate><guid>https://modub.nl/blog/habittracker-live/</guid><description>&lt;p&gt;&lt;strong&gt;Vorige:&lt;/strong&gt; &lt;a href="https://modub.nl/blog/habittracker-phase-0-done/"&gt;De dag dat alles samenkwam&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="de-kortste-sessie"&gt;De kortste sessie&lt;/h2&gt;
&lt;p&gt;Soms zijn de beste sessies de kortste.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="netlify-setup-30-min"&gt;Netlify setup (30 min)&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;netlify.toml&lt;/code&gt; configuratie&lt;/li&gt;
&lt;li&gt;Build settings geconfigureerd&lt;/li&gt;
&lt;li&gt;Custom domain ready&lt;/li&gt;
&lt;li&gt;Auto-deploy op git push&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="het-moment"&gt;Het moment&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Deploy successful!
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="https://dailymo.netlify.app"&gt;https://dailymo.netlify.app&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Ik open de URL op mijn iPhone.&lt;/p&gt;
&lt;p&gt;De app laadt. Smooth. Snel. De install prompt verschijnt.&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Zet op beginscherm&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Tap.&lt;/p&gt;
&lt;p&gt;En daar staat ie. Op mijn home screen. Tussen de andere apps. Alsof het altijd al zo was.&lt;/p&gt;</description></item><item><title>De dag dat alles samenkwam</title><link>https://modub.nl/blog/habittracker-phase-0-done/</link><pubDate>Wed, 26 Nov 2025 00:00:00 +0000</pubDate><guid>https://modub.nl/blog/habittracker-phase-0-done/</guid><description>&lt;p&gt;&lt;strong&gt;Vorige:&lt;/strong&gt; &lt;a href="https://modub.nl/blog/habittracker-testing/"&gt;Testing done - van 51% naar 80% accessibility&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Weet je dat gevoel wanneer je weken ergens aan werkt en het dan ineens&amp;hellip; klikt? Vandaag was zo&amp;rsquo;n dag.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="van-chaos-naar-structuur"&gt;Van chaos naar structuur&lt;/h2&gt;
&lt;p&gt;Ik begon deze sessie met één groot HTML-bestand van 2000+ regels. Hier schaam ik me een beetje voor, maar zo was het nu eenmaal gegroeid. Alles door elkaar: styling, logica, data.&lt;/p&gt;
&lt;p&gt;Vier uur later? Netjes opgedeeld in ES Modules. Elk onderdeel in zijn eigen bestand. Zoals je kledingkast opruimen – je weet precies waar alles ligt.&lt;/p&gt;</description></item><item><title>Testing done - van 51% naar 80% accessibility</title><link>https://modub.nl/blog/habittracker-testing/</link><pubDate>Tue, 25 Nov 2025 00:00:00 +0000</pubDate><guid>https://modub.nl/blog/habittracker-testing/</guid><description>&lt;p&gt;&lt;strong&gt;Vorige:&lt;/strong&gt; &lt;a href="https://modub.nl/blog/habittracker-te-snel/"&gt;We gaan te snel! De agile wake-up call&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="1400---waar-was-ik-gebleven"&gt;14:00 - &amp;ldquo;Waar was ik gebleven?&amp;rdquo;&lt;/h2&gt;
&lt;p&gt;Na 3 dagen pauze open ik Claude Code:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;waar was ik gebleven?&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Claude herinnert zich alles. Session 3 was bezig met Issue #16 (Testing Milestone). Accessibility score was 51%.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Context switching is een non-issue met goede documentatie.&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="manual-testing-afgerond-15-min"&gt;Manual testing afgerond (15 min)&lt;/h2&gt;
&lt;p&gt;Screenshot script had een bug:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;// Before: page.fill(&amp;#39;#water-intake&amp;#39;, &amp;#39;6&amp;#39;) // FAIL - readonly!
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;// After: 6× page.click(&amp;#39;#water-add&amp;#39;) // Works!
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;7 screenshots gemaakt, TC-01 t/m TC-07: ALL PASS!&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>We gaan te snel! De agile wake-up call</title><link>https://modub.nl/blog/habittracker-te-snel/</link><pubDate>Sat, 22 Nov 2025 21:00:00 +0100</pubDate><guid>https://modub.nl/blog/habittracker-te-snel/</guid><description>&lt;p&gt;&lt;strong&gt;Vorige:&lt;/strong&gt; &lt;a href="https://modub.nl/blog/habittracker-mvp-live/"&gt;MVP live! Van 0 naar werkende app in 65 minuten&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="2100---het-mag-wel-mooier"&gt;21:00 - &amp;ldquo;Het mag wel mooier&amp;rdquo;&lt;/h2&gt;
&lt;p&gt;Ik kijk naar mijn app. Het werkt. Maar&amp;hellip; het is niet mooi genoeg.&lt;/p&gt;
&lt;p&gt;Ik had referentie screenshots verzameld (Fastic, HealthTrack UI Kit, etc.) en zei tegen Claude:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Kijk naar deze voorbeelden en kom met een nieuw ontwerp.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id="complete-design-overhaul-1-uur"&gt;Complete design overhaul (1 uur)&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;UI Specialist&lt;/strong&gt; ging los:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Quick stats &lt;strong&gt;2×2 grid&lt;/strong&gt; met circular progress&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Water intake visualisatie&lt;/strong&gt;: 8 druppel iconen die oplichten! 💧&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Alcohol selector&lt;/strong&gt;: grotere pills&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Health score&lt;/strong&gt;: compacter, minder dominant&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gradient accenten&lt;/strong&gt;: terracotta &amp;amp; sage green (premium look!)&lt;/li&gt;
&lt;li&gt;Grotere headings, meer breathing room&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Result:&lt;/strong&gt; App ziet er nu uit als een €10/maand premium product. En het is gratis!&lt;/p&gt;</description></item><item><title>MVP live! Van 0 naar werkende app in 65 minuten</title><link>https://modub.nl/blog/habittracker-mvp-live/</link><pubDate>Sat, 22 Nov 2025 12:00:00 +0100</pubDate><guid>https://modub.nl/blog/habittracker-mvp-live/</guid><description>&lt;p&gt;&lt;strong&gt;Vorige:&lt;/strong&gt; &lt;a href="https://modub.nl/blog/habittracker-het-begin/"&gt;Het begin: van idee naar project in 15 minuten&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="1210---ok-laten-we-starten"&gt;12:10 - &amp;ldquo;Ok laten we starten!&amp;rdquo;&lt;/h2&gt;
&lt;p&gt;Sessie 2. Tijd om écht te bouwen.&lt;/p&gt;
&lt;p&gt;In de volgende 50 minuten bouwde Claude:&lt;/p&gt;
&lt;h3 id="complete-mvp-implementatie-35-min"&gt;Complete MVP implementatie (35 min)&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Frontend Developer&lt;/strong&gt; maakte:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;storage.js&lt;/code&gt; (250+ lines) - localStorage management, export, sanitization&lt;/li&gt;
&lt;li&gt;&lt;code&gt;healthScore.js&lt;/code&gt; (200+ lines) - 0-100% score algoritme met gewogen metrics&lt;/li&gt;
&lt;li&gt;&lt;code&gt;app.js&lt;/code&gt; (350+ lines) - Main application logic, events, UI updates&lt;/li&gt;
&lt;li&gt;&lt;code&gt;main.css&lt;/code&gt; (700+ lines) - Fastic-inspired mobile-first design&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Totaal: ~1,500 lines in 35 minuten.&lt;/strong&gt; WTF.&lt;/p&gt;</description></item><item><title>Het begin: van idee naar project in 15 minuten</title><link>https://modub.nl/blog/habittracker-het-begin/</link><pubDate>Sat, 22 Nov 2025 10:00:00 +0100</pubDate><guid>https://modub.nl/blog/habittracker-het-begin/</guid><description>&lt;h2 id="ik-kan-dat-toch-niet"&gt;&amp;ldquo;Ik kan dat toch niet?&amp;rdquo;&lt;/h2&gt;
&lt;p&gt;Als je dit leest, heb je waarschijnlijk wel eens gedacht: &amp;ldquo;Ik wil graag [app/website/tool] maken, maar ik kan niet programmeren.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Ik ook. Totdat ik het gewoon deed.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="het-idee"&gt;Het idee&lt;/h2&gt;
&lt;p&gt;Ik wilde mijn dagelijkse gezondheid bijhouden. Slaap, water, beweging, pijn&amp;hellip; je kent het wel. Er zijn apps voor, maar:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ze sturen mijn data naar de cloud (privacy? Bye bye!)&lt;/li&gt;
&lt;li&gt;Ze zijn bloated met features die ik niet nodig heb&lt;/li&gt;
&lt;li&gt;Ze kosten €10/maand voor basic functionaliteit&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Dus dacht ik: &lt;strong&gt;&amp;ldquo;Fuck it, ik bouw het zelf.&amp;rdquo;&lt;/strong&gt;&lt;/p&gt;</description></item></channel></rss>