OpenDot is a modular monolith plus a separate realtime voice runtime. The platform console owns configuration and device binding; the runtime owns live audio sessions; PostgreSQL stores durable control-plane state; firmware connects over OTA/bootstrap and WebSocket paths.Documentation Index
Fetch the complete documentation index at: https://docs.opendot.ai/llms.txt
Use this file to discover all available pages before exploring further.
Current system
| Layer | Current implementation | Responsibility |
|---|---|---|
| Docs | Mintlify in docs/ | Product, setup, contribution, and architecture guidance |
| Web console | React, TypeScript, Vite, TanStack Query | Agent creation, pipeline tuning, browser testing, device binding, settings |
| Platform API | Fastify, TypeScript, Drizzle | Auth, agents, pipelines, devices, deployments, runtime/session tokens |
| Database | PostgreSQL | OpenDot-owned product state and Supabase-compatible auth bridge |
| Voice runtime | Node, WebSocket, Deepgram, OpenAI-compatible LLM calls | Browser and device voice sessions through VAD, STT, LLM, and TTS |
| Firmware | ESP-IDF for Waveshare ESP32-S3-AUDIO-Board | Wi-Fi provisioning, activation, wake word, audio I/O, display, WebSocket client |
Platform stack
Docs
Mintlify in
docs/ publishes product, setup, architecture, and contributor guidance.Console
React, TypeScript, Vite, TanStack Query, and lucide-react power the browser workflow.
Platform API
Fastify handles auth, agents, pipelines, device inventory, deployments, and
runtime/session tokens.
Database
PostgreSQL stores OpenDot-owned product state through Drizzle schema and SQL
migrations.
Voice runtime
Node.js and WebSocket sessions orchestrate VAD, STT, LLM, TTS, browser audio, and
device audio.
Providers
Deepgram backs the starter VAD, STT, and TTS paths. OpenAI-compatible Responses calls
back the starter LLM stage.
Device firmware
ESP-IDF firmware targets the Waveshare
ESP32-S3-AUDIO-Board reference
device today.
Packaging
Docker Compose runs local services, while the Render Blueprint maps the same
containers to hosted preview services.
Local development topology
docs/
with mint dev.
Use Runtime configuration when changing environment
variables or service URLs.
Voice turn flow
Device activation and binding
/ws
connections use that credential, and the runtime loads the currently bound agent
configuration from the platform API.
See Dot Device console for the product flow and the firmware
README for flashing and LAN setup details. See Dot device
for the firmware and hardware reference target.