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.