Skip to main content

Architecture

Streamdat is a single product composed of a Python API, async workers, and a React SPA. Everything below is accurate at the system level; module-level detail lives in the application repository.

Request path

The browser talks to FastAPI over HTTPS. Authenticated requests carry JWT access tokens; workspace-scoped routes resolve the active tenant from middleware and dependencies. Long-running work (transcription, highlight scoring, rendering, posting) is delegated to Celery workers backed by Redis queues.

Data and media

PostgreSQL holds accounts, workspaces, videos, clips, plugin rows, workflow definitions, and analytics aggregates. Large binaries (uploads, renders) live in S3 (or MinIO in local development) with presigned URL patterns for upload and download.

Realtime

A user-scoped WebSocket channel pushes job progress and domain events; Redis Streams can backfill missed messages when the client reconnects with a cursor.

Frontend

The dashboard is a React 18 + Vite SPA using TanStack Query against the REST API, with shared UI primitives (Tailwind + component library patterns documented in the app repo design-system notes).

Pipeline and operations

See Video pipeline for the creator-facing stages and Observability for health, metrics, and logging surfaces.

Where to read more