Trois containers. Un Postgres. Un Qdrant. Intent router LLM + auto-traduction par destinataire. Le reste, c'est juste router ton message — dans la langue que tu veux — vers le bon builder en moins d'une minute, et s'assurer qu'il puisse te retrouver après.
Tout ce que le bot fait tient dans une boucle : t'activer en 60 secondes, lire ce dont tu as besoin, surfacer qui matche, logger la rencontre quand elle a lieu.
Le premier contact, c'est un rituel en 3 temps, pas un formulaire : le bot t'ouvre avec un vrai post récent du space, puis te demande d'écrire le tien. Ton intro auto-broadcast à ~15 builders avant la fin de l'onboarding.
Chaque message passe par un intent router Qwen 2.5-7B sur le réseau 0G. Il classifie en match, broadcast, question ou problème — pas de boutons, pas de menus, pas de formulaires. Ta langue stockée part avec la requête, donc l'agent te répond dans la tienne.
Ta requête est embedded et filtrée sur ton space actif. Les 5 à 10 builders dont le profil recoupe sémantiquement ta demande sont remontés ici, classés par sémantique + BM25. Les broadcasts sont auto-traduits par destinataire (un appel LLM caché par langue) avec un bouton 🔤 voir l'original en un tap.
Les sessions confirmées affichent un bouton Check-in. Un tap vérifie un code HMAC de la même façon que les scanners QR de la venue. +5 rep, réinjecté dans le trust graph (PageRank sur les sessions notées) qui re-classe les futurs matchs.
Pas de boîtes noires. Voici ce qui tourne quand tu tapes — et pourquoi rien ne tombe quand un maillon de la stack lâche.
Un graphe multi-agent persistant gère l'intake de profil et la coordination de meetup sur le même checkpointer PostgreSQL. L'état du thread survit aux redémarrages, donc une conversation commencée lundi se souvient encore de ton contexte mercredi.
Qwen 2.5-7B tourne sur 0G Compute via un proxy compatible OpenAI. Quand c'est up, tu ne paies rien. Quand c'est down, on retombe sur le free tier OpenRouter puis sur OpenAI — le bot ne reste jamais silencieux.
Compose en texte brut. Le bot formate en carte de recrutement, classe via Qdrant + BM25, fan-out vers jusqu'à 10 builders auto-traduits par destinataire (cache : un appel LLM par langue cible). Chaque DM part avec Intéressé / Passer et un toggle 🔤 voir l'original. +1h plus tard, tu reçois le digest de qui a dit oui.
Parcours et rejoins les spaces discoverables en un tap depuis la Mini App. Chaque space a ses propres membres actifs, leaderboard, broadcasts — et une voix de bot ajustable (tone, sign-off, greeting custom) que les organisateurs éditent via /organizer. Postgres multi-tenant, isolé par slug.
Swipe deck façon Tinder, builders du space qui ont opt-in. Right-swipe mutuel crée un meetup proposal via le même pipeline que /post — les deux côtés reçoivent le DM accept/decline standard. Les swipes one-way sont silencieux (pas de thirst metrics, pas de "X personnes t'ont liké"). Cap de 10 cartes/jour.
Dimanche 18 h UTC, le poller pair chaque user actif de chaque space avec un peer random qu'il n'a pas encore rencontré. Les deux côtés reçoivent un deep-link [👋 dire bonjour] vers le Telegram de l'autre, et un bouton [passer cette semaine]. Dedup pair sur 90 jours, dedup user-semaine ISO, désactivable.