Why Textree is split across Astro and Phoenix
Textree uses Astro for discoverability and Phoenix for execution. That split is deliberate. The public site needs SEO, content collections, and a fast static build. The authenticated product needs durable jobs, long-lived state, and server-rendered interactivity.
The bootstrap keeps those concerns separate from day one. Astro owns the landing pages, docs, and blog. Phoenix owns login, the operator console, the JSON API, webhook ingestion, and MCP endpoints.
That shape makes the operational rules easier to preserve: suppression gating, spend reservations, provider boundaries, and Oban-managed retries live where they belong instead of leaking into the content site.