Een kennisbank opbouwen met AI
Een kennisbank opbouwen met AI Vandaag heb ik opgeruimd. Niet mijn bureau (dat is hopeloos), maar mijn projectenmap. Wat begon als “even die losse bestanden consolideren” werd een complete herstructurering van hoe ik kennis bewaar. De situatie Ik werk aan meerdere projecten tegelijk: een Zweedse taal-app, een gezondheids-tracker, een recepten-app, een statische website. Elk project heeft een LEARNINGS.md waar ik vastleg wat ik leer. Safari bugs, iOS quirks, dat soort dingen. ...
De onzichtbare poortwachter
Twee dagen lang werkte hetzelfde veld niet. Ik vulde “lezen” in, klikte opslaan, ging terug - en het vakje was weer leeg. Elke keer opnieuw. 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. De frustratie Het begon simpel. Claude had twee nieuwe velden toegevoegd: “lezen” (een checkbox) en “energie” (een emoji selector). De code zag er goed uit. De tests slaagden. Maar op mijn telefoon verdween de data gewoon. ...
AI agents als virtueel team
AI agents als virtueel team 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. De situatie 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. Tijd om op te ruimen dus. Maar waar begin je? En hoe voorkom je dat je zomaar wat gaat slopen zonder na te denken? ...
Een onderwijskundige in mijn AI-team
Een onderwijskundige in mijn AI-team Vandaag realiseerde ik me dat mijn taalleer-app geen idee heeft hoe mensen leren. Het probleem Ik bouw Svenska Kat, een app om Zweeds te leren. Er zit een “Daily Program” in: elke dag 10 zinnen oefenen. Klinkt logisch. Maar toen ik kritisch keek, zag ik het probleem: 10 willekeurige zinnen, geen didactische logica Alleen typen en uitspraak, geen variatie Grammatica staat los van de oefeningen Geen spaced repetition, geen review Het was alsof ik een fitness-app had gebouwd die zegt “doe elke dag 10 oefeningen” zonder te weten welke spiergroepen je traint. ...
De kunst van bug hunting
Vandaag een korte maar leerzame sessie. Geen nieuwe features, alleen bugs opruimen. En dat bleek verrassend interessant. De lijst Drie issues stonden open: #44: Cafeïne statistieken tonen verkeerde data #45: Energie en habits worden niet opgeslagen #49: Statistieken werken niet goed Klinkt als een ramp. Maar de werkelijkheid was genuanceerder. De echte bugs Issue #44 was legitiem. De app had twee formaten voor cafeïne data: een oud format (caffeineConsumed: true/false) en een nieuw format (caffeineCount: 2). De statistieken snapten alleen het oude format. ...
Mijn AI-team gedraagt zich als mensen
Mijn AI-team gedraagt zich als mensen Gisteren was ik gefrustreerd. Mijn AI-team negeerde de regels. Pushte direct naar main. Sloeg lokaal testen over. Vergat de design principles te checken. Het leken wel echte mensen. Wat er mis ging Twee projecten. Zweedsapp en habittracker. Dezelfde problemen. Features gingen live zonder testen. Functionaliteit die werkte, werkte ineens niet meer. Design principes die ik zorgvuldig had opgeschreven werden genegeerd. De CLAUDE.md bestanden waren uitgebreid. De regels stonden er. Maar ze werden niet gevolgd. ...
Mijn eigen gewoontes
Mijn eigen gewoontes Elke health tracker heeft dezelfde checkboxes. Slaap. Water. Beweging. Maar mijn leven is niet standaard. Vandaag bouwde ik custom habits. Het probleem met standaard trackers Ik wil bijhouden of ik heb gemediteerd. Of ik piano heb gespeeld. Of ik die ene stretching routine heb gedaan. Geen enkele tracker heeft precies die dingen. Je kunt kiezen uit hun lijstje, maar niet je eigen toevoegen. Tot nu. Hoe het werkt In de instellingen staat nu een nieuwe sectie: Custom Habits. Je klikt op “Nieuwe habit toevoegen”, typt een naam, kiest een emoji, klaar. ...
Vijf dingen af in één sessie
Vijf dingen af in één sessie Soms stroomt het gewoon. Je begint met “waar was ik gebleven?” en twee uur later heb je vijf verbeteringen doorgevoerd. Vandaag was zo’n dag. Hulp van een virtuele product owner Ik had een probleem: te veel ideeën, te weinig tijd. Wat moet ik eerst doen? Normaal zou ik gewoon beginnen met wat het leukst lijkt. Maar deze keer vroeg ik het aan Tessa - mijn virtuele product owner. ...
De mens achter de prompt
De mens achter de prompt Na zeven sessies en een werkende app is het tijd voor een eerlijk gesprek. Want de verhalen hiervoor kunnen een verkeerd beeld geven. Het misverstand “De AI bouwde een app in 16 uur.” Dat is wat de cijfers zeggen. Maar het is niet het hele verhaal. Wat ik doe (en waarom het ertoe doet) De juiste vragen stellen De AI kan alles bouwen. Maar alleen als je weet wat je moet vragen. ...
iOS polish - pull-to-refresh & wheel picker
iOS polish “Het moet aanvoelen als een echte app” De app werkt. De app is live. Maar… het voelt nog als een website. Tijd voor native feel. Pull-to-refresh (30 min) Je kent het. Trek naar beneden, de app refresht. Zo simpel, zo verwacht op iOS. Trek naar beneden → Refresh indicator 80px threshold voor trigger Smooth animatie overscroll-behavior voor browser compatibility Feels: Net een native app! De code let startY = 0; let pulling = false; element.addEventListener('touchstart', (e) => { if (window.scrollY === 0) { startY = e.touches[0].pageY; pulling = true; } }); element.addEventListener('touchmove', (e) => { if (!pulling) return; const diff = e.touches[0].pageY - startY; if (diff > 80) { // Show indicator, trigger refresh } }); Simpel. Effectief. Native feel. ...