Architecture
Convex owns product state. The Bee agent coordinates conversation and tools. Clients render confirmed state and generated UI.
Current system
Expo mobile ── Clerk identity ── Convex
│ ▲
└── text / voice ── Flue agent ┘
│
├── ElevenLabs
└── model provider- Expo mobile is the primary product client.
- Convex owns plans, Highlights, economy state, and canonical memory.
- Flue manages Bee sessions, tools, voice flow, and generated UI.
- TanStack web is currently an auth and sample shell. Feature parity is planned.
First-focus write boundary
- Conversation produces an unpersisted Goal, Project, Task, and Highlight preview.
- The user edits, cancels, or confirms it.
- Convex validates identity, ownership, and domain limits.
- Confirmation creates the records atomically with idempotency protection.
Release targets
These are quality targets, not measured production guarantees:
- Useful spoken response within 4 seconds p95.
- Complete editable preview within 8 seconds p95.
- Confirmed state visible within 2 seconds p95.
See docs/07-mvp-scope-and-roadmap.md for current scope.