Skip to content

ADR 0001: Platform Stack

Status

Accepted

Context

TradeMate needs a shared web/native product surface, fast API iteration, background workers, broker integrations, and an agent runtime that can evolve without splitting the codebase too early.

Decision

Use Expo/React Native for web and native clients, FastAPI for the core API, Better Auth as the auth sidecar, Postgres/Timescale/pgvector for durable data, Valkey for cache/queue support, Celery for scheduled/background work, LangGraph for agent orchestration, and LiteLLM for model routing.

Consequences

The platform keeps one product codebase for web and native screens while Python owns broker, data, and agent work. The tradeoff is that deployment needs several coordinated services and clear health/readiness checks.

Verification

CI must typecheck/build web, run API/agent tests, and production /ready must prove critical service dependencies.