Hyvä merchants chose the theme for performance. Dropping a heavy React chat island into every page would undo that investment. Our storefront surface is deliberately thin: Alpine.js for open/close state, message list, and captcha handoff — with Node + Fastify owning sessions, search, and LLM routing.
Keep Magento thin
The Magento module should configure endpoints, store credentials, and inject the widget — not reinvent AI orchestration. Business rules, rate limits, and tenant isolation belong in the EU-hosted backend where they can be tested and audited.
UX constraints that matter
Chat must respect theme tokens, avoid layout shift on load, and degrade gracefully when the API is rate-limited. Prefer progressive disclosure: launcher first, panel on demand, captcha before the first message when abuse risk is high.
What agencies should ask vendors
Ask where store_id comes from, how catalog sync runs, whether drafts leak to the public blog or chat knowledge, and how long conversation data is retained. Those answers separate a Magento-ready product from a generic chatbot wrapper.