Architecture

The three differentiators from the home page, with the technical substance behind each.

1. Silo + BYOC by default

Every tenant receives a dedicated GCP project containing a dedicated Cloud Run service set, Cloud SQL instance, GCS buckets, and Secret Manager namespace. There is no shared database, no shared application process, no row-level security policy. Tenant separation is achieved by separate deployments, not by runtime filters inside shared infrastructure. Optional Bring-Your-Own-Cloud puts the entire tenant project in your GCP organisation, with the vendor holding limited-scope deployment access only.

The alternative — pool tenancy with row-level security — is operationally cheaper at low customer count and is the default choice for consumer SaaS. It is the wrong choice here: hedge fund security teams reject multi-tenant SaaS for production-grade workloads, and LP questionnaires increasingly ask about data residency and tenancy isolation. We pay for a control plane so that silo stays operationally credible at scale.

2. Open-source-first stack

Polars (data frames), Postgres with extensions (PGMQ, Apache AGE, TimescaleDB, pg_cron), APScheduler (scheduling), MLflow (model registry), FastAPI + Pydantic (API), Vite + React + Tailwind + shadcn (UI), uv (Python packaging), Cloud Run (runtime). Every load-bearing component is open-source with permissive licensing.

This means you can, in principle, pull your stack out of our managed offering and run it yourself on equivalent infrastructure. A fund that wants to bring infrastructure in-house in three years can do so without a re-platforming exercise. We give up the lock-in revenue that proprietary competitors enjoy and win on land/expand mechanics instead.

3. Quant-native, not generic MLOps

Specific platform properties, not add-ons:

These are the properties that separate a generic MLOps tool from a quant-native platform.