Open the app
Memory & journal

Self-hosted Convex

Convex as the operational backend for the dashboard — not the analytical warehouse.

Self-hosted Convex is the operational backend of the web application — the current state the dashboard reads in real time. It is deliberately not the analytical database for tick-level market history.

What Convex owns

The operational entities the UI subscribes to:

  • tokens
  • opportunities
  • signal & score snapshots
  • agent reports
  • strategies & versions
  • experiments
  • trades
  • positions
  • orders
  • human reviews
  • risk events
  • system alerts
  • configuration versions

How Python talks to it

The Python services write to Convex through HTTP actions, authenticated endpoints, internal service requests and scheduled synchronization workers — Convex stays the reactive layer, the quant and agent work stays in Python.

Authorize first — Convex has no row-level security
Every Convex function authorizes the caller and runs a per-resource check before touching data. Anything not meant for the client is internal*, and every argument is validated. The store is kept distinct from the SQLite memory and the Parquet/DuckDB lake.
Not the warehouse
High-frequency analytical data would be too voluminous and expensive to query here. Convex stores application-facing records; Parquet/DuckDB store research history; SQLite stores agent memory. See the full data model for the table-by-table breakdown.