Monorepo Structure
Unpod is an NX monorepo with four main applications and a shared library layer.Core Services
Web Frontend (apps/web/)
Next.js 16 frontend with App Router, group-based layouts, styled-components, and Ant Design.
- Key features: Auth, dashboard, AI Studio, spaces, knowledge bases, settings
- Testing: Playwright for E2E tests
apps/web/.env.local.example to apps/web/.env.local.
Desktop app (Tauri): npm run desktop:dev / npm run desktop:build
Backend Core (apps/backend-core/)
Django 5 REST API with JWT auth, multi-tenant organizations, RBAC, and background tasks.
- Auth: JWT authentication + Google OAuth
- Storage: PostgreSQL (relational), MongoDB (documents), Redis (cache)
- Endpoints: All under
/api/v1/
API Services (apps/api-services/)
FastAPI microservices for messaging, document store, AI search, and task management. MongoDB primary storage.
| Route | Service | Description |
|---|---|---|
/api/v1/store | store_service | Document store & indexing |
/api/v1/connector | store_service | Data connectors |
/api/v1/voice | store_service | LiveKit voice/video |
/api/v1/search | search_service | AI-powered search |
/api/v1/conversation | messaging_service | Chat conversations |
/api/v1/agent | messaging_service | Agent management |
/api/v1/task | task_service | Task management |
ws://localhost:9116/ws/v1/conversation/{thread_id}/
Voice AI Engine (apps/super/)
Voice AI engine built on LiveKit and Pipecat. Orchestrates real-time voice agents with LLM providers, TTS/STT engines, and workflow automation via Prefect.
Desktop Application (apps/unpod-tauri/)
Native cross-platform desktop client built with Tauri 2 and Rust.
Tech Stack
| Layer | Technology |
|---|---|
| Frontend | Next.js 16 / React 19 / styled-components / Ant Design |
| Monorepo | NX 22 |
| Desktop | Tauri 2 |
| Backend | Django 5 + DRF / FastAPI |
| Voice AI | LiveKit + Pipecat + LangChain |
| Databases | PostgreSQL 16, MongoDB 7, Redis 7 |
| Messaging | Kafka (KRaft), Centrifugo v5 |
Data Flow
How calls flow through the system: The Bridge routes incoming calls to the appropriate Agent, which processes speech through the AI pipeline (STT → LLM → TTS) and streams audio back to the caller via the configured Voice Provider.Next Steps
Quickstart
Get Unpod running on your machine.
Core Components
Numbers, Providers, Bridges, and Agents explained.
Dev Platform
Configure telephony and agents via the dashboard.
API Reference
Full API documentation.