How mahenoor-mehtab/chatcore works
ChatCore is a multi-tenant support platform: customers ask questions through a website widget, Convex-backed conversation handling grounds AI answers in organizational knowledge, and unresolved threads can reach the operator dashboard. The README also describes voice, team management, billing, and per-organization widget settings. The tree contains no embed-loader directory, so that documented entry point is not represented; backend feature wiring beyond the sampled schema, messages, and users files is based on README descriptions rather than inspected implementations.
Main entry points: app/page.tsx Operator dashboard · app/page.tsx Chat widget · convex AI conversation agent · messages.ts Conversation messages
Components 16
Customer experience
- Chat widget
apps/widget/app/page.tsx - Voice support
apps/widget/app/page.tsx
Conversation backend
- Knowledge and RAG
packages/backend/convex - AI conversation agent
packages/backend/convex - Human handoff
packages/backend/convex - Conversation messages
packages/backend/convex/messages.ts - Users and tenants
packages/backend/convex/users.ts - Data schema
packages/backend/convex/schema.ts - Convex data
packages/backend/convex
Operator platform
- Operator dashboard
apps/web/app/page.tsx - Widget settings
packages/backend/convex - Plans and billing
apps/web/app
Identity and services
- Clerk identity
- Vapi voice
Other components
- Customer
- Support operator
Connections 20
- Customer → Chat widget: asks question
- Chat widget → AI conversation agent: submits question
- AI conversation agent → Knowledge and RAG: retrieves context
- AI conversation agent → Conversation messages: records conversation
- AI conversation agent → Chat widget: streams answer
- AI conversation agent → Human handoff: escalates unresolved
- Human handoff → Operator dashboard: surfaces thread
- Support operator → Operator dashboard: manages inbox
- Operator dashboard → Conversation messages: views conversations
- Data schema → Convex data: defines tables
- Conversation messages → Convex data: reads and writes
- Users and tenants → Convex data: reads and writes
- Operator dashboard → Widget settings: manages appearance
- Widget settings → Chat widget: provides configuration
- Chat widget → Voice support: offers voice
- Voice support → Vapi voice: uses voice service
- Operator dashboard → Plans and billing: manages subscription
- Operator dashboard → Clerk identity: authenticates
- Chat widget → Clerk identity: protects routes
- Clerk identity → Convex data: authenticates backend