NDC Nexus
Ten Elixir agents that read WhatsApp, email and calendar, and only act once you approve.
My role
Architecture and implementation.
- 10
- supervised agents per workspace
- 6
- integrated channels
- 100%
- of external actions gated by a human
Problem
Messages and tasks are spread across WhatsApp, Discord, Gmail, Google Calendar, Linear and ClickUp. Nobody can keep up with all of it, and an agent that replies on its own is dangerous.
Solution
Each workspace runs 10 OTP-supervised agents built with Jido, covering orchestration, WhatsApp, email and Discord, tasks, calendar, knowledge, notifications, code, and a routine that cross-checks everything every 15 minutes. Every message goes through an Oban queue, gets enriched with identity and entities, and becomes memory in pgvector.
Highlights
- An inter-agent bus with three patterns, which are memory injection, synchronous queries and state inspection with no LLM cost.
- Human approval from the web or Telegram, with no duplicate requests for the same action and target.
- A contact trust graph (unknown, professional, friend) that sets the reply policy.
- A coding agent running in a Docker sandbox with OpenCode and Playwright.
- OAuth tokens encrypted at rest.
Result
A working prototype running against the real integrations.