Skip to main content
An overview of Repoch’s architecture and key design decisions.

Core Components

API Server

FastAPI application handling REST endpoints, WebSocket streaming, and authentication.

Web Frontend

Next.js application for viewing recordings, managing datasets, and monitoring tasks. Served by the API server by default, but can be run separately in dev mode.

Client API

Python library for streaming robot data to the server.

Task Executor

Background task processing for dataset generation and video encoding. Runs in-process by default, can be externalised to Celery for distributed execution.

Database

SQLite by default for local development. Can be externalised to PostgreSQL with pgvector for semantic search.

Message Broker

In-process message broker by default. Can be externalised to Redis for distributed task execution and streaming.

File Storage

Local filesystem storage for recordings, video streams, datasets, and exports.

Next Steps

Web App Development

Contribute to Repoch development