Three containers. One Postgres. One Qdrant. LLM intent router + per-recipient auto-translation. Everything else is just routing your message — in any language — to the right builder in under a minute, and making sure they can find you back.
Everything the bot does fits in one loop: get you live in 60 seconds, read what you need, surface who matches, log the meeting when it happens.
First contact is a 3-beat ritual, not a form: the bot opens with a real recent post from your space, then asks you to write your own. Your intro auto-broadcasts to ~15 builders before onboarding ends.
Every message hits a Qwen 2.5-7B intent router on the 0G network. It classifies into match, broadcast, question, or problem — no buttons, no menus, no forms. Your stored language ships with the request, so the agent answers in your tongue.
Your query is embedded and filtered to your active space. The top 5–10 builders whose profile overlaps surface here, ranked by semantic + BM25. Broadcasts get auto-translated per recipient (one LLM call cached per language) with a one-tap 🔤 see-original button.
Confirmed sessions surface a Check-in button. One tap verifies an HMAC code the same way the venue QR scanners do. +5 rep, fed back into the trust graph (PageRank over rated sessions) that re-ranks future matches.
No black boxes. Here's what runs when you type — and why nothing drops when one piece of the stack goes down.
A persistent multi-agent graph handles profile intake and meetup coordination on the same PostgreSQL checkpointer. Thread state survives restarts, so a conversation you started on Monday still remembers your context on Wednesday.
Qwen 2.5-7B runs on 0G Compute via an OpenAI-compatible proxy. When it's up, you pay nothing. When it's down, we fall back to OpenRouter's free tier and then OpenAI — the bot never goes silent.
Compose in plain text. The bot formats it into a recruiting card, ranks via Qdrant + BM25, fans out to up to 10 builders auto-translated per recipient (cached: one LLM call per target language). Each DM ships with Interested / Pass and a 🔤 see-original toggle. +1h later you get the digest of who said yes.
Browse and join discoverable spaces in one tap from the Mini App. Each space has its own active members, leaderboard, broadcasts — and a tunable bot voice (tone, sign-off, custom greeting) organizers can edit via /organizer. Multi-tenant Postgres, isolated by slug.
Tinder-style swipe deck of opted-in builders in your active space. Mutual right-swipe creates a meetup proposal via the same pipeline as /post — both sides get the standard accept/decline DM. One-way swipes are silent (no thirst metrics, no "X people liked you"). 10 cards/day cap.
Sunday 18:00 UTC, the poller pairs every active user in each space with a random peer they haven't met. Both sides get a [👋 say hi] deep-link to the other's Telegram and a [skip this week] button. 90-day pair dedup, ISO-week per-user dedup, configurable to off.