Architecture Decision Records
Architecture Decision Records
Project: AI-powered lead qualification chat
Last updated: May 2026
Overview
Architecture Decision Records (ADRs) capture significant technical decisions made during the design and build of the Growth Chat system. Each record is immutable once accepted — if a decision is superseded, a new ADR is created and the original is updated to reference it.
Decision Log
| ID | Title | Status | Date | Owner |
|---|---|---|---|---|
| ADR-001 | Use Anthropic Claude Haiku 4.5 as the LLM Provider | Accepted | April 2026 | AI Engineering Lead |
| ADR-002 | Use LangGraph for Conversation Orchestration | Accepted | April 2026 | AI Engineering Lead |
| ADR-003 | Use pgvector and OpenAI Embeddings for Knowledge Retrieval | Accepted | May 2026 | AI Engineering Lead |
| ADR-004 | Use MemorySaver for development and PostgreSQL checkpointer for production state persistence | Accepted | May 2026 | AI Engineering Lead |
| ADR-005 | Use assistant-ui wrapped as a Web Component for the chat widget | Accepted | May 2026 | AI Engineering Lead |
| ADR-006 | Use Fly.io, Neon, and Cloudflare for the MVP Infrastructure | Accepted | May 2026 | Engineering Lead |
| ADR-007 | Use Langfuse Cloud as the LLM Observability Platform | Accepted | May 2026 | AI Engineering Lead |
| ADR-008 | Use Better Stack for Application Logging and Uptime Monitoring | Accepted | May 2026 | Engineering Lead |
| ADR-009 | Use PostgreSQL leads table as CRM substitute | Accepted | May 2026 | AI Engineering Lead |
ADRs are immutable once accepted. To supersede a decision, create a new ADR and update the Status field of the original to Superseded by ADR-NNN.