| Frontend | React 19, TanStack Start/Router, Tailwind v4, shadcn/ui, Framer Motion | React 19, Vite, React Router, installable PWA |
| API | TanStack server routes (SSE proxy) → FastAPI | FastAPI (serves both the API and the built SPA) |
| Orchestration | LangGraph router + 35 per-intent pipelines | LangGraph, 9-node linear news pipeline |
| Models | AWS Bedrock (global inference): Claude Sonnet 4.6, Haiku 4.5; Titan embeddings | OpenAI by default; fallback chain across Gemini, Groq, NVIDIA, HF, Ollama |
| Retrieval | Serper (Google SERP) + HTTP/2 trafilatura scraper | Google News RSS (+ optional Serper News) + scraper |
| Data | Azure PostgreSQL Flexible Server + pgvector, Azure Blob Storage | SQLite (default) or Supabase |
| Auth | Better-Auth: email + Google OAuth, admin roles | Anonymous profiles with a sync code, so no account is needed |
| Observability | Arize Phoenix + Azure Application Insights | Arize Phoenix (optional) + output-quality score |
| Delivery | SSE stream to the browser | Web, email (Mailgun daily edition), web push |
| Hosting | Azure Container Apps (Bicep, Key Vault, GHCR images) | Docker / Render / Heroku buildpack |