Tech stack
| Layer | Technology |
|---|---|
| Frontend | Next.js (App Router), shadcn/ui + Tailwind CSS |
| Charts | Charting library (sentiment trends, donut charts, activity heatmaps) |
| Backend | Next.js Route Handlers / Server Actions |
| AI pipeline | LLM-based analysis (prompt-driven, configurable per chatbot) |
| Semantic search | Vector embeddings + similarity search |
| Authentication | Email/password + social OAuth (Apple, Google, Meta) |
URL structure
/platform) and chatbot (at /platform/{chatbotId}). All chatbot sub-resources are scoped to the chatbot ID.
Authentication model
| Level | Scope | Roles | URL |
|---|---|---|---|
| Organization | All chatbots in the org | Owner, Admin, Member | /platform/members |
| Chatbot | Single chatbot | Member (addable) | /platform/{chatbotId}/settings > Members |
- Email/password — standard registration and login with password requirements (8+ characters)
- Social OAuth — Apple, Google, and Meta via OAuth redirect flows
- Password reset — self-service via email
API surface
External API (SDK to OpenBat)
- Conversation ingestion endpoint (authenticated via API key)
- Message data with user/assistant roles
- Custom metadata fields
- Session context (page URL, referrer, device, country)
Internal API (frontend to backend)
- CRUD operations for organizations, chatbots, members, workflows, webhooks
- Analytics queries for dashboard KPIs, sentiment trends, resolution outcomes
- Search: keyword filtering and semantic deep search
- Configuration: analysis flags, prompts, translation settings
- Data import and export
Outbound integrations
- Webhook delivery to Discord, Slack, and custom HTTP endpoints
- Social OAuth provider communication
- AI/LLM provider calls for the analysis pipeline
Next steps
Data model
Entity relationships and multi-tenancy design.
Analysis pipeline
How conversations are analyzed end-to-end.