Waarom ik naast mijn werk apps blijf bouwen?


Ik werk als product manager bij een grote bank. Ik denk de hele dag na over gebruikerservaring, technologie en hoe je complexe dingen simpel maakt. En toch bouw ik in mijn vrije tijd ook dingen. Niet omdat het moet. Maar omdat ik het niet kan laten.

De aanleiding voor de meest recente sprong was Claude Code. Een tool die bijna dagelijks updates krijgt en die de manier waarop je software bouwt fundamenteel aan het veranderen is. Ik wilde begrijpen wat het kon — niet door er over te lezen, maar door er mee te werken.

Bijblijven door te doen

De wereld van AI-ontwikkeling gaat snel. Heel snel. En de enige manier om dat echt te begrijpen is door een praktisch probleem te pakken en te kijken hoe ver je komt.

Bij Kalplat.nl (neem vooral eens een kijkje) — een tool die Limburgs dialect transcribeert naar notulen — merkte ik hoe anders bouwen aanvoelt als je Claude als sparringpartner gebruikt. Niet als zoekmachine, maar als senior developer, als UX-adviseur, als compliance-check. Je maakt een keuze en gaat door. Het werkt bijna verslavend snel.

Zelfs vraagstukken waar ik normaal een specialist voor zou inschakelen — security, privacy, legal — kun je nu stap voor stap doorlopen. Niet als vervanging van expertise, maar als manier om de juiste vragen te stellen.

De laatste 5% is het moeilijkste

Afgelopen zondag was Kalplat voor 95% klaar. En toch staat die laatste 5% er nog niet. Het privacy statement dat nog even gecheckt moet worden. De URL-infrastructuur die goed moet staan voordat de eerste echte gebruikers testen. Kleine dingen die groot aanvoelen als je er moe van bent.

Tijd vinden naast een fulltime baan op werk en fulltime papa privé blijft het moeilijkste deel. Niet de techniek, niet de ideeën — de tijd.

De projecten die de finish niet haalden

Kalplat is niet mijn eerste side project. Spotmeister — een locatiegebaseerde quiz-app — leeft al jaren in mijn hoofd. Het idee was een drietrapsraket: eerst feitjes op locaties, dan quizjes en speurtochtjes, dan samenwerken met VVV’s en toeristische plekken. De eerste twee trappen zijn er. De derde staat nog steeds in de steigers.

Misschien haal ik die finish ooit. Misschien niet. Maar ik leerde er meer van dan van menig cursus.

Waarom ik toch doorbouw

De projecten die blijven plakken zijn de projecten die iets oplossen voor echte mensen. Een vriend die notulen typt voor zijn voetbalvereniging. Een heemkunde-vereniging die boeken catalogiseert. Een boer die zijn koeien wil kunnen volgen. Mensen in mijn omgeving met een concreet probleem.

Dat is mijn filter geworden: bouw ik iets waar iemand die ik ken morgen mee geholpen is? Dan ga ik verder. Anders niet.


Dank aan Claude voor de gestelde vragen hierboven en redigeren van mijn teksten.

Vooruitgang in 2025 op het gebied van vibe coding

De kerstperiode biedt altijd een mooie gelegenheid om terug te blikken op het werk dat je het afgelopen jaar hebt verricht. Daarnaast biedt het ook een moment om na te denken over de trends en vooruitgangen die ik het afgelopen jaar heb waargenomen en waar . Naast het bijhouden van alle nieuwe AI-mogelijkheden die online verschijnen, zag ik deze kerstperiode de kans om met Claude Code te werken, mij weer eens onder te dompelen in de mogelijkheden en onmogelijkheden en te ontdekken hoe deze tool functioneert.

Het leuke aan Claude Code is dat het beter presteert dan de combinatie van vibe coding die ik eerder probeerde met Lovable, Cursor en ChatGPT. Waarbij deze automatische coding tool opnieuw meer werk uit handen neemt. Zodra je een en ander goed hebt geconfigureerd, denk aan automatische code updates naar github en automatische deployments naar een website kon ik een oud studentenproject weer nieuw leven inblazen.

In 2012 had ik samen met drie andere computer science studenten het idee om een gps-gebaseerde quiz te maken. Het doel was om mensen meer bezig te laten zijn met hun omgeving en hen daar vragen over te laten stellen, zodat ze minder op hun telefoon zouden zitten en meer betrokken zouden zijn bij hun omgeving. We bedachten een gps-gebaseerde locatiequiz genaamd Spotmeister.

Om Claude Code grondig te testen, heb ik in drie avonden vibe code geschreven, ik bedoel Claude code laten schrijven. Dit resulteerde in een eerste MVP die zowel op desktop als mobiel te gebruiken is. Ik ben met name onder de indruk van de plannen die Claude zelf schrijft voordat “het” begint zaken aan te passen.

Kortom, ik merk dat vibe coding wéér beter is geworden dit jaar. Hoewel ik geen expert ben in de kwaliteit van de geschreven code, zag ik wel enkele onhandigheden voorbij komen. Het blijft dus een kwestie van itereren. Maar ook deze tak van sport heeft weer aanzienlijke vooruitgang geboekt, wat voor mij als niet-programmeur enorm interessant is en veel nieuwe mogelijkheden biedt.

Dit wilde ik graag met jullie delen en ik ben benieuwd wat jullie ervan vinden.

Chat in search integration for e-commerce platforms

A quick note to self: The previous week, I saw again an interesting way of bringing automated chat technology into a mobile interface using the “question” button in one of the prominent buttons on top of e-commerce giant Amazon. Ref: https://www.marketplacepulse.com/articles/amazon-adds-an-ai-shopping-assistant

I wonder why Amazon is choosing a separate entrance for its shopping advisory functionality. It could be integrated with the search bar on top of the page. However, at the moment of writing, they chose not to do so…

Also, a “questions” labeled button gives me the expectation of ending up on a FAQ page. Anyway, let’s see if this becomes a more used user pattern. Therefore I am just adding this article as another example of integrating chatbot technology into the app (but keeping search separate) of an e-commerce platform.

Search & chat coming together

Since ChatGPT was introduced to the big public in November 2022, I was amazed to see how a conversational interface has been massively adopted by people in such a short time (1 million users in just 5 days after launching). It really showed the power of the GPT-model to the average user, only visually using chat. For you who don’t know, earlier versions of the GPT model was already used in the Google Assistant “voice” technology. But then some extra layers of potential failures were added on top of that as well (noise filtering from speech, speak-to-text interpretation, etc.). But still, I was often amazed how well the model recognized written intents and entities in 2018.

With the mass adoption of conversational AI-tools like ChatGPT and BARD, the average user is getting used to asking longer questions to a system providing you with an on-par generated answer. Now I get intrigued by how this new behavior will affect the current search behavior of users. Will people start to ask longer questions in the search box as well? Or do conversational UIs need to come up with more smart ways to receive contextual information to a short question by adding buttons asking for context?

An interesting example I saw lately is the example of Klevu MOI where they introduced a toggle between chat and search. https://www.klevu.com/moi

Klevu MOI

Also see this video: https://www.youtube.com/watch?v=B3dRF7DQwho

Goodbye Actions. Hello useful voice systems.

The word is out, Google is sunsetting Conversational Actions on June 13th 2023. I fully understand Google’s choice as the current setup didn’t get the user traction it deserved. As a developer of several actions myself and as an experienced user I learned that it was hard to get buckled up for the actual core of a Google action without losing users during the conversation.

When I was working for Rabobank, a user first needs to set up a connection with his or her account. This step already caused many users to not join this channel as an updated smartphone with the Google Assistant app was needed. But even if installed it still took a lot of effort to connect with a dual-factor authentication system (Rabo Scanner) to access the information users wanted to request (their balance). Another step to bale out was the privacy consent, many users didn’t and still don’t trust big external parties with their financial data.

Also for my private projects like the 7 minutes workout action, I found that it was easier to have this video added to Youtube and ask for it to Google to play it using Youtube than to ask for the action itself.

The technology was just not ready for all these use cases. I found myself quickly irritated when Google Home misinterpreted the question or command I give. Also, waiting for the same (too long and slow) response when it gave me a wrong answer. However, I still think voice technology can add value to people’s lives.

Use cases I personally love to use in my home are: asking till what time a shop is open, playing music, asking for latest news, activating the lights for a certain setting, asking for the kids how animals or music instruments sound.

Other use cases I wished I could use it more often are when I am driving in my car. Can you imagine asking: “Can you navigate to a gasoline pump on our route?” or “Next song please?” or “When is the next drive-through restaurant on my route?”. But then answering your request in a correct way…

However, I disabled all voice assistants at the moment because of too many false positives in triggering the assistants or in the case of the car-based voice system: it just doesn’t understand. So, let’s focus on creating great usable web content (as mentioned here) and let’s try this technology after a few years again 🙂

Voice & search

Just a short update on my current position at bol.com.

Finding exactly what a user wants is hard. Even when you have visual clues available. In the past, I experimented with voice applications. In these customer journeys, I thought the biggest problem was with the availability of interface elements, a user can basically say everything to the voice interface. In the visual world, you can compare this to a user who can draw his own filtering and sorting interface. If you don’t exactly know what you are looking for and how things are called at the information-providing end you probably won’t find what you were looking for.

So my focus in information retrieval is currently shifted from voice to visual search at bol.com. It is still incredibly hard to understand users. The many features are made to help users find what they need and still people are creative enough to end up finding things they didn’t expected.

Vaarwel Rabobank. Hallo bol.com

Het is alweer 7 jaar geleden dat ik begon als trainee bij de Rabobank. Na diverse functies ben ik veel ervaringen rijker en wil ik mijn collega’s bij de Rabobank graag bedanken voor alle hulp, leermomenten, kansen en gezelligheid die ik heb mogen ervaren de afgelopen jaren.

Ik heb mogen werken aan gave producten bij de Rabobank. Met name het opzetten van een geheel nieuwe chatbot voor de klantenservice is een van mijn grootste en meest uitdagende projecten geweest, maar ik heb geleerd dat je daar met een goed team hele grote stappen kan zetten. Daarnaast heb ik altijd met veel plezier en liefde gewerkt aan de site van rabobank, het verbeteren van de search (zowel intern als de externe SEO) en natuurlijk het verder uitwerken van de voice propositie.

Vaarwel Rabobank.

Hey Google, praat met Seven minute workout

Leerdoelen: analytics, routines en hergebruik van content in Google Actions

Samenvatting: tijdens review proces wordt content hergebruik herkend, routines zijn enkel nog beschikbaar in het engels en over analytics is nog veel onduidelijk.

Achtergrond

Afgelopen jaar had ik een simpele action gemaakt om te leren hoe makkelijk (of moeilijk) het is om een Google Action te maken waarbij alle samples zijn opgenomen en door middel van SSML uitgesproken moeten worden. Het resultaat was de Action PV (pretty virtual) personal trainer. Het doel van deze action was om gebruikers een seven minute workout te laten doen.

In grofweg 3 avonden maakte ik deze PV personal trainer. Inclusief het uitzoeken van passende opensource samples, knippen / plakken, opnemen en modificeren van mijn eigen stem. Dit resulteerde in een 7 minuten durende sample met diverse workout oefeningen. De PV personal trainer was alleen in het Nederlands beschikbaar. Na het deployen en zonder enige marketing, anders dan de standaard “explore” lijst van Google Actions, bleek er maar weinig animo te zijn voor de action. Het gevolg was dat het project stil viel.

Om snel te leren hoe routines werken heb je een engelse action nodig. Ik koos (na een paar invocation tests) om een nieuwe action te maken in het Nederlands én Engels genaamd “seven minute workout”. Gewoon simpel, to the point en met maar een doel: mensen aanmoedigen om een seven minute workout te doen.

Content hergebruik

Tijdens het maken van de action “seven minute workout” gebruikte ik dezelfde sample die ik vorig jaar maakte voor de PV personal trainer, maar dan met een hele andere flow ernaar toe. Tijdens het reviewen werd ik keihard afgewezen door Google met de reden: “Your action appears to spam users or includes excessive low quality or duplicated content“, zo luidde de boodschap. Er is dus een (mogelijk geautomatiseerd) proces dat bij het maken van actions een controle doet op het hergebruiken van content.

Dagelijkse routines

We weten allemaal hoe moeilijk de “exploration” van Google actions zijn. En wanneer een gebruiker eenmaal je action geprobeerd heeft is het hopen dat hij of zij je de volgende keer weer weet te vinden.

Dagelijkse routines zijn hiervoor dé oplossing! Mijn voorspelling is dat meer en meer mensen met een Google Home gebruik zullen gaan maken van dagelijkse routines. Stel je maar eens voor: je wordt wakker, je staat op en loopt naar de keuken waar je gaat ontbijten of de boterhammen voor die dag gaat smeren. Je zegt “Hi Google, goedemorgen!” als je de keuken binnen loopt. Je lichten gaan aan, je hoort het weer voor vandaag, de drukte op je vaste route naar het werk en het laatste nieuws.”

Als een action het voor elkaar krijgt om aan dit lijstje te worden toegevoegd zit je als action gebakken! Als bank zou je bijvoorbeeld een financiële update kunnen geven aan je rekeninghouder en als sportschool zou je de mensen die fit willen blijven een seven-minute-workout kunnen aanbieden die ze kunnen opnemen in hun dagelijkse routine.

Een routine toevoegen ziet er zo uit:

Een routine activeren werkt alsvolgt, zeg: “Hey Google, goede morgen”. Noem dus de naam van het routine moment. Goede morgen, middag of avond. Ook zijn er andere varianten beschikbaar “naar huis”, “ik ben thuis”, etc.

Zoals eerder gezegd werken routines alleen voor gebruikers die de account taal en assistant taal op en-en hebben ingesteld. Hieronder zie je een video hoe je een routine start en hoe je bij de settings ervan terecht komt.

Goede morgen routine

Analytics

Na een tweetal berichten over de seven minute workout op LinkedIn van Emiel Langeberg waren we beide benieuwd hoe het met de analytics gesteld zou zijn van deze action.

Geen touw aan vast te knopen! Je zou verwachten dat de aantallen in Dialogflow en Google Actions enigszins overeen zouden komen, helaas zie ik het verband niet.

Zie hier een paar voorbeelden:

We beginnen met Google Actions:

Googel Actions

Hieronder de stats van Dialogflow:

Dialogflow

Bestanden worden in firebase gehost. Dit zijn de stats uit de Firebase bucket:

Firebase