Eighty
← Blog

Claude Code als je eigen marketing-agent: zo bouw je gepersonaliseerde gebruikersflows zonder developer

24 juni 2026/4 min lezen/Door de Eighty redactie

MoEngage gokt op miljoenen AI-agents, en jij kunt dat vandaag al namaken

Wat is er gebeurd?

MoEngage heeft een overname gedaan waarbij ze technologie binnenhalen die per individuele klant een eigen AI-agent inzet. Het idee: elke gebruiker krijgt een agent die zijn gedrag volgt en op het juiste moment de juiste boodschap stuurt. Geen bulk-mails meer, maar hypergepersonaliseerde communicatie op schaal. Voor grote SaaS-spelers is dit de nieuwe standaard, en dat gaat jou als kleine maker direct raken in de verwachtingen van je gebruikers.

Wat betekent dit voor jouw project?

Als jij een SaaS bouwt met een onboarding-flow, een dashboard of welke vorm van gebruikersinteractie dan ook, dan verwachten mensen steeds vaker dat je app "weet" wie ze zijn en waar ze zitten in hun proces. Je hoeft geen MoEngage-budget te hebben om dit te bouwen. Met Claude Code en een paar regels logica in je database maak je vanavond al een simpele gedragsgestuurde flow: iemand die dag 3 haalt zonder een kernfunctie te gebruiken krijgt een andere boodschap dan iemand die al power-user is.

Hoe pak je het aan met Claude Code?

Dit is een werkbare aanpak in vier stappen. Ik ga uit van een Next.js-project met Supabase als backend, maar je kunt de prompts aanpassen naar jouw stack.

Stap 1: leg gebruikersgedrag vast in je database

Eerst heb je data nodig. Vraag Claude Code om een eenvoudige events-tabel en een functie die je op elk belangrijk moment aanroept.

Maak in mijn Supabase-project een tabel user_events met de kolommen: id (uuid), user_id (uuid, foreign key naar auth.users), event_name (text), properties (jsonb), en created_at (timestamptz). Schrijf daarna een TypeScript-helperfunctie trackEvent(userId, eventName, properties) die ik kan importeren in mijn Next.js API-routes.

Je krijgt dan iets als:

// lib/analytics.ts
import { createClient } from '@/lib/supabase/server'

export async function trackEvent(
  userId: string,
  eventName: string,
  properties: Record<string, unknown> = {}
) {
  const supabase = createClient()
  await supabase.from('user_events').insert({
    user_id: userId,
    event_name: eventName,
    properties,
  })
}

Roep dit aan op plekken als: eerste login, aanmaken van een project, koppelen van een integratie, versturen van eerste factuur, noem maar op.

Stap 2: maak een gebruikersprofiel op basis van gedrag

Nu ga je die events samenvatten tot een "status" per gebruiker. Vraag Claude Code:

Schrijf een Supabase database-functie (PostgreSQL) genaamd get_user_segment die op basis van de user_events-tabel per gebruiker bepaalt in welk segment ze zitten. Segmenten: new (minder dan 3 events), onboarding (heeft ingelogd maar heeft event project_created nog niet), active (heeft project_created en minstens 5 events de afgelopen 7 dagen), at_risk (was actief maar geen events in de laatste 14 dagen). Geef de functie terug als SQL die ik in de Supabase SQL-editor kan uitvoeren.

Stap 3: stuur gepersonaliseerde berichten vanuit een API-route

Met het segment weet je wat iemand nodig heeft. Nu maak je een eenvoudige agent-achtige route die dit vertaalt naar actie.

Maak een Next.js API-route /api/cron/user-nudges die ik dagelijks kan aanroepen via een cron-job (bv. Vercel Cron of Supabase Edge Functions). De route haalt alle gebruikers op met hun segment via de get_user_segment-functie. Voor segment onboarding stuurt het een e-mail via Resend met onderwerp "Je project staat klaar, maar je hebt het nog niet aangemaakt". Voor segment at_risk een mail met "We missen je, hier is wat er nieuw is". Gebruik de Resend SDK. Sla per verzonden mail een event nudge_sent op in user_events zodat je niet dubbel verstuurt binnen 7 dagen.

# Installeer Resend als je dat nog niet hebt
npm install resend

Stap 4: maak het zichtbaar in je eigen dashboard

Als laatste stap wil je zelf kunnen zien hoe je gebruikers verdeeld zijn over de segmenten. Vraag:

Maak een eenvoudige admin-pagina op /admin/segments in mijn Next.js-app die een tabel toont met alle gebruikers, hun segment, het aantal events, en de datum van de laatste activiteit. Beveilig de route zodat alleen ik er bij kan (check op mijn eigen user_id of een is_admin-vlag in de profiles-tabel).

Wat te checken na afloop

  • Ga naar je Supabase-dashboard en kijk of er rijen in user_events verschijnen als je door je eigen app navigeert.
  • Voer de get_user_segment-SQL uit in de Supabase SQL-editor en kijk of jouw eigen account in het juiste segment zit.
  • Trigger de /api/cron/user-nudges-route handmatig via je browser of Postman en controleer of je een e-mail ontvangt in je eigen inbox.
  • Check in user_events of het nudge_sent-event correct wordt opgeslagen zodat je weet dat de deduplicatie werkt.

Je hebt nu de kern van wat MoEngage miljarden waard maakt, in jouw eigen project, gebouwd in een avond.


Wil je dit zelf leren?

Bij Eighty leer ik je Claude Code in het Nederlands gebruiken, van installatie tot een werkend SaaS-product. Wekelijks een nieuwe module, persoonlijke begeleiding.