Hoe Ik een Aangepaste AI-Assistent Bouwde Met Gravity Claw
Drie weken geleden staarde ik naar mijn Telegram-app om 23:00 uur, en mijn AI-assistent — één die ik zelf had gebouwd — stuurde me een bericht dat ik nooit had gevraagd. "Je noemde dat je de API-migratie voor vrijdag wilde afronden. Je hebt hem al twee dagen niet aangeraakt. Wat blokkeert je?"
Ik had dat exacte bericht niet geprogrammeerd. Ik had het niet handmatig gepland. Het ding wist het gewoon omdat het een gesprek van vier dagen geleden herinnerde, context uit zijn semantisch geheugen haalde, en besloot — op zijn eigen hartbeatcyclus — dat ik een aansporing nodig had. Dat moment right there? Dat is wanneer ik me realiseerde dat ik per ongeluk iets nuttiger had gebouwd dan elke SaaS-productiviteitsapp waarvoor ik ooit had betaald.
Het systeem achter dit heet Gravity Claw, en het draait op een framework genaamd Anti-Gravity.
Het Probleem Met Elke AI-Assistent Die Je Hebt Geprobeerd
Ik heb ze allemaal gebruikt. ChatGPT met aangepaste instructies. Claude-projecten met geüploade bestanden. Ze delen allemaal dezelfde fundamentele beperking: ze vergeten dat je bestaat zodra het gesprek eindigt.
De diepere uitdaging is nog erger. Elk van deze tools is een black box gehost op de server van iemand anders. Mijn API-sleutels zweven door externe infrastructuur. Mijn gespreksdata leeft op machines die ik niet beheer.
Wat ik nodig had was een AI-assistent die op mijn machine draaide, data opsloeg in mijn databases, en me genoeg controle gaf om precies de functies te bouwen die ik wilde.
Het CLAUSE-Framework — Waarom Deze Architectuur Echt Werkt
C — Verbinden. Zorg dat je basis werkt. Anti-gravity geïnstalleerd, Telegram-bot aangemaakt, Docker en Node.js ingesteld.
L — Luisteren. Geef je bot oren. Spraakberichtondersteuning via Whisper-transcriptie, plus de mogelijkheid om terug te praten via 11 Labs.
A — Archiveren. Bouw het geheugensysteem. Een drielagige architectuur met kerngeheugen (altijd aanwezig), gespreksBuffer (recente context) en semantisch langetermijngeheugen aangedreven door vectorzoekactie.
U — Verbinden. Verbind je bot met de rest van je digitale leven via MCP-servers.
S — Senseren. Geef je bot een hartbeat. In plaats van passief te wachten totdat je iets typt, kan het proactief contact opnemen.
De Basis Instellen — Verbinden en Eerste Contact
Je hebt vier dingen nodig voor je AI-code aanraakt: Anti-gravity, Telegram, Docker en Node.js.
# Kloon de anti-gravity-repo
git clone https://github.com/anti-gravity-dev/anti-gravity.git
cd anti-gravity
# Installeer afhankelijkheden
npm install
# Kopieer het omgevingssjabloon
cp .env.example .env
Vul in het .env-bestand drie kritieke waarden in:
TELEGRAM_BOT_TOKEN=je_bot_token_hier
OPENROUTER_API_KEY=je_openrouter_sleutel_hier
ALLOWED_USER_IDS=je_telegram_gebruikers_id
Die ALLOWED_USER_IDS-regel is belangrijk. Het beperkt botoegekend tot alleen jouw Telegram-account.
docker compose up -d
Je Bot Leren Luisteren en Praten — De Spraaklaag
Stap 4: Schakel spraaktranscriptie in met Whisper.
Twee opties: Whisper lokaal uitvoeren (gratis maar CPU-intensief) of OpenAI's Whisper API gebruiken ($0,006 per minuut). Ik begon met lokale Whisper. Fout. Op mijn M2 MacBook Pro duurde transcriptie 8-12 seconden voor een 30-seconden spraakbericht. Overgestapt naar de API, en transcriptie daalt naar minder dan 2 seconden.
Stap 5: Voeg spraakantwoorden toe met 11 Labs.
11 Labs biedt tekst-naar-spraak met emotionele intelligentie — de gegenereerde stem klinkt niet robotachtig. Na configuratie reageert je bot op spraakberichten met spraakberichten. Je hebt letterlijk een gesproken gesprek met je AI-assistent via Telegram terwijl je je hond uitlaat.
De Geheugenarchitectuur Die Alles Veranderde
Laag 1: Kerngeheugen
Een klein tekstblok (500-1.000 tokens) dat altijd aanwezig is in de systeemprompt. Ik sla de mijne op in een bestand genaamd soul.md.
# Kerngeheugen
- Naam: Mejba Ahmed
- Rol: Software Engineer, AI-Ontwikkelaar
- Huidige Focus: AI-agentsystemen, Claude Code-ecosysteem
- Communicatiestijl: Direct, technisch, waardeert humor
Laag 2: Gespreksbuffer
De laatste N berichten van je huidige en recente gesprekken.
Laag 3: Semantisch Langetermijngeheugen (De Gamechanger)
Na elke gespreksuitwisseling extraheert het systeem automatisch belangrijke feiten, voorkeuren en toezeggingen en slaat ze op als vectorinbeddingen in een Pinecone-index.
PINECONE_API_KEY=je_api_sleutel
PINECONE_INDEX=gravity-claw-geheugen
PINECONE_ENVIRONMENT=us-east-1
Je Digitale Leven Bedraden Met MCP-Servers
MCP geeft je AI-assistent de mogelijkheid om met andere software te communiceren via een gestandaardiseerde interface.
Stap 6: Voeg je eerste MCP-integratie toe.
Voor Gmail: ik verleende alleen leestoegang en conceptaanmaak. Niet verzenden. Dit is niet paranoia — dit is basale operationele beveiliging.
Andere MCP-integraties die het waard zijn:
- GitHub MCP — Laat je bot PR-status controleren en reviewmeldingen bekijken
- Notion MCP — Bevraag je databases, maak pagina's, werk projectstatussen bij
- Supabase MCP — Directe databasetoegang voor projecten gebouwd op Supabase
Het Heartbeat-Systeem — Wanneer Je AI Bij Je Incheckt
Passieve AI-assistenten zitten en wachten. Jij vraagt, zij antwoorden. Maar een persoonlijke assistent — een echte — wacht niet totdat je eraan denkt om te vragen. Hij merkt patronen op. Volgt op. Houdt je verantwoordelijk.
Gravity Claw's heartbeat-systeem is een gepland proces dat op configureerbare intervallen afvuurt. Mijn ochtendheartbeat stuurt iets zoals:
"Goedemorgen. Je hebt 3 ongelezen GitHub-meldingen — twee zijn PR-reviews. Je noemde dat je de vectorzoekoptimalisatie voor het einde van de week wilde afronden. Ook kreeg je een e-mail van een potentiële klant over een beveiligingsaudit."
Inzetten in de Cloud — Wanneer Je Laptop Slaapt
Stap 8: Inzetten naar Railway.
npm install -g @railway/cli
railway login
railway init
railway up
Kosten: Railway's gratis tier dekt een basis Gravity Claw-implementatie. Betaalde tier begint bij $5/maand.
Wat Niemand Je Vertelt Over Het Bouwen Van Je Eigen AI-Assistent
De persoonlijkheidsafstemming duurt langer dan de technische installatie. Het juist krijgen van de stem van de bot — via het soul.md-bestand en de systeempromptconfiguratie — duurde ongeveer een week van iteratie.
Geheugenverontreiniging is een echt probleem. Als je extractieprompt niet zorgvuldig is afgestemd, raakt je vectordatabase gevuld met ruis.
De grootste misvatting die ik had: Ik dacht dat het bouwen van een aangepaste AI-assistent moeilijker zou zijn dan het gebruik van een commerciële. Het tegenovergestelde is waar.
De Resultaten Na Drie Weken Dagelijks Gebruik
Reactietijd op klant-e-mails: Daalde van gemiddeld 4 uur naar minder dan 1 uur.
Contextwisselen tijdens diep werk: Verminderd met ongeveer 40%.
Vergeten toezeggingen: De bot ving elke enkele op. Nul gemiste toezeggingen in drie weken.
Dagelijkse planningtijd: Teruggebracht van 25 minuten naar ongeveer 8 minuten.
Wat Dit Betekent Voor de Toekomst van Persoonlijke AI
We hebben nagedacht over AI-assistenten als producten die iemand anders voor ons bouwt. Gravity Claw vertegenwoordigt een ander pad. Een waarbij je de infrastructuur bezit, de data controleert, de persoonlijkheid ontwerpt en de integraties kiest.
Mijn uitdaging aan jou: dit weekend, zet 3 uur opzij. Doorloop de Verbinden- en Luisteren-stappen. Laat gewoon een spraakgestuurde Telegram-bot draaien.
En wanneer je bot je zijn eerste ongevraagde bericht stuurt op een maandagochtend — je herinnerend aan dat ding dat je zei te doen maar niet hebt gedaan — zul je begrijpen waarom ik Siri, Alexa of welke commerciële assistent dan ook sindsdien niet meer heb aangeraakt.
Laten We Samenwerken
- Fiverr: fiverr.com/s/EgxYmWD
- Portfolio: mejba.me
- Ramlit Limited: ramlit.com
- ColorPark: colorpark.io
- xCyberSecurity: xcybersecurity.io