Skip to content
D · 02 · TECHNICAL WRITE-UP

Shop Life.

Een voice-first gezinsassistent, ontworpen voor in de auto.

De reis is met opzet onproductief — werktools van werkkwaliteit kun je niet in de auto gebruiken. Shop Life claimt dat tijdslot in plaats daarvan voor gezinscoördinatie en zelf bijleren. Praat ermee. Het regelt de agenda, de maaltijden en research. WhatsApp houdt je op de hoogte van alles wat onomkeerbaar is.

01 · DRIE TOEPASSINGEN

Drie taken, één spraakinterface.

Elke toepassing zit achter dezelfde spraakagent. Intentieherkenning bepaalt waar het gesprek heen gaat, het betreffende subsysteem handelt het af, en WhatsApp toont de bevestiging.

FunctieWat het doetWaarFlow
GezinsagendaAfspraken aanmaken in gewone taal, conflictdetectie, en proactieve herinneringen via WhatsApp tegen een gedeelde gezinsagenda.Onder het rijdenVoice → parser → Google Calendar API → conflict check → WhatsApp confirm + reminder.
Maaltijdplanning + boodschappenRecepten bedenken via spraak; de boodschappenlijst volgt uit het gekozen plan; de Picnic-mand wordt automatisch gevuld; eindgoedkeuring via WhatsApp vóór de afrekening.Onderweg naar huisVoice → Spoonacular for recipes → list generation → Picnic API cart add → WhatsApp approval gate → checkout.
Research + debatGrondig onderzoek naar elk onderwerp via spraak, met een melding via WhatsApp als het klaar is. Zodra het in de kennisbank staat, kan de assistent er een echt debat met je over voeren — RAG-onderbouwd tegen het onderzoek dat hij net heeft gedaan.Lange ritten, tijd om zelf bij te lerenVoice → research orchestrator → Vertex AI embeddings → KB → debate agent (RAG over the same KB) → voice reply.
02 · STACK

Wat eronder draait.

LaagDetail
SpraakinterfaceElevenLabs Conversational AI — inkomende én uitgaande spraak. Ontworpen voor handsfree gebruik onder het rijden.
Parsing + classificatieGoogle Gemini 2.5 Flash — snelle intentie- en entiteitsherkenning uit het gesprekstranscript.
Research + redenerenGoogle Gemini 2.5 Pro — de zwaardere laag voor het researchsubsysteem en de debatantwoorden.
Embeddings + RAGVertex AI text-embedding-004 — vectoriseert de research-output zodat de debatagent per beurt de relevante stukken kan ophalen.
BackendPython 3.11 + FastAPI op Google Cloud Run. Gebouwd met Docker, gedeployed via GitHub. Secrets in Google Secret Manager.
Data + opslagBigQuery als datawarehouse, Cloud Storage voor documenten.
03 · INTEGRATIES

De vier dragende API's.

Elke externe API doet echt werk, geen abstract demowerk — de agenda is de gezinsagenda, de WhatsApp-thread is de echte gezinschat, de Picnic-mand is degene die daadwerkelijk aan de deur wordt afgerekend.

  • Google Calendar APILezen en schrijven in de gezinsagenda. De bron van waarheid voor wat er al gepland staat.
  • WhatsApp Business API (via PyWa)Asynchroon goedkeuringskanaal + proactieve herinneringen. Cruciaal voor de auto-toepassing — spraak voor de invoer, WhatsApp voor de controle.
  • Spoonacular APIReceptdata voor de maaltijdplanning-gesprekken.
  • Picnic APIAutomatisering van de boodschappenmand. De boodschappenlijst belandt in de mand, de WhatsApp-poort houdt de mens in de lus vóór de afrekening.
04 · OPVALLENDE ONTWERPKEUZES

De minder voor de hand liggende beslissingen.

Voice erin, WhatsApp eruit
Spraak is de juiste invoermodus voor de auto. Het is de verkeerde controlemodus — je kunt een boodschappenlijst niet hardop nalezen. WhatsApp sluit de lus asynchroon: de spraakagent handelt; de WhatsApp-thread controleert en keurt goed vóór elke onomkeerbare actie (mand afrekenen, agenda-uitnodiging).
Goedkeuringspoort vóór elke onomkeerbare actie
Zowel agenda-inserts als Picnic-afrekeningen pauzeren bij een bevestigingsstap. De agent legt zich nergens op vast wat de dag van een ander raakt zonder een ja in de WhatsApp-thread.
Productiviteit in autotijd, geen verdringing van werktijd
Het systeem is expliciet ontworpen voor de reistijd — het deel van de dag waarin AI-tools van werkkwaliteit niet gebruikt mogen worden vanwege beveiligingseisen. Het herwint een tijdslot dat er toch al was, in plaats van geconcentreerde werkuren te versnipperen.
Dezelfde afkomst als de rest van de stack
ElevenLabs Conversational AI + Gemini + Cloud Run is dezelfde familie waar de site rutgertuit.nl en Luminary allebei op draaien. Kennis tussen projecten stapelt zich op — de auth, het secret-beheer en het deploymentpatroon waren al betaald.
Gericht op de Nederlandse markt
Picnic is geen plaatsvervanger voor een abstracte boodschappen-API — het is de bezorgdienst die het huishouden echt gebruikt, dus de integratie is oprecht nuttig, geen demo.
WAAROM DIT BESTAAT

De eerlijke versie: het meeste regelwerk in een gezin is onzichtbaar werk dat terechtkomt bij wie de ruimte heeft om het bij te houden. AI is oprecht nuttig wanneer het dat bijhouden overneemt — niet wanneer het de eigenlijke beslissing probeert over te nemen over welke maaltijd je kookt of welke middag je vrijmaakt. Dat is de lijn die Shop Life probeert vast te houden. Onder de motorkap leent het de multi-agent-opzet waar Luminary het hardst op leunt — de redeneerlogica blijft vast, terwijl de echte voorkeuren van het gezin als config meekomen — hier toegepast op het deel van de dag dat werktools niet bereiken.

Lees de broncode op GitHub →