Skip to main content

Cheeko Backend Overview

Cheeko Hero

Cheeko is an AI companion for children (ages 3–16) running on ESP32 devices. This documentation covers all five backend and firmware components and their integration.

Boot-to-Conversation Flow

System Components

ComponentLanguageRole
livekit-serverPythonAI voice agent — conversation, games, music/story playback
manager-api-nodeNode.js / ExpressREST API — device registry, OTA, config, content, analytics
manager-webVue.jsAdmin dashboard for managing devices, users, models, and content
mqtt-gatewayNode.jsProtocol bridge: MQTT/UDP (ESP32) to LiveKit WebRTC
ESP32 FirmwareC++ / ESP-IDFOn-device client — state machine, audio pipeline, MQTT, RFID
Parent AppFlutteriOS/Android app for parents — device setup, kid profiles, content

High-Level Data Flow

ESP32 Device ──MQTT/UDP──> mqtt-gateway ──WebSocket──> LiveKit Cloud
│ │
│ ▼
│ livekit-server
│ (AI Agent)
▼ │
manager-api-node (JS) <───────────────┘
│ (config, prompts, analytics)

manager-web
(Admin Dashboard)

All device-to-server communication starts with the Manager API (OTA check and activation), then shifts to the MQTT Gateway for real-time voice protocol. The livekit-server AI agent reads configuration and prompts from the Manager API during session setup.

Service Ports

ServicePortBase Path
manager-api-node8002/toy
MQTT broker (EMQX)1883
UDP audio channeldynamic

Quick Start

note

manager-api-node (Node.js/Express) is the backend API implementation, exposing all endpoints under /toy.