Should you build your own MagicChat?
Train an AI support chatbot on your own content and embed it on your site
A retrieval chatbot over your own docs is one of the most one-shottable products there is: crawl the site, chunk and embed it, answer from the top matches with an LLM, drop in a widget. What you don't get for free is the boring operational layer, scheduled re-crawls, analytics, lead capture and human handoff, multi-source connectors, and a hosted widget that stays up. Buildable in a weekend, real gaps after that.
ENOriginal research content in English. Original prompt preserved in English.
Build me an AI support chatbot that trains on my own website and docs, to replace
MagicChat, in an empty repo.
Stack (no alternatives): Next.js 15 (App Router) + TypeScript, Postgres with the
pgvector extension via Drizzle ORM, and Docker Compose so `docker compose up` runs
Postgres and the app together. Use the OpenAI or Anthropic API for both embeddings
and answers (keys in .env).
Core loop:
- `npm run ingest -- <sitemap-or-url>`: crawl the pages, strip to clean text, chunk
(~800 tokens with overlap), embed each chunk, and store text + vector + source URL
in Postgres.
- A /api/chat route: embed the incoming question, pull the top-k chunks by cosine
similarity, and ask the LLM to answer ONLY from that context, returning the source
URLs it used. Stream the answer.
- A single embeddable widget: one <script> tag mounts a floating chat bubble on any
site, talking to /api/chat with CORS locked to configured origins.
Details:
- One config file: bot name, greeting, allowed origins, model, top-k.
- Store everything locally in Postgres; `npm run reindex` re-crawls and replaces.
- Secrets in .env, ship .env.example, never commit keys.
- Handle empty, loading, and "I don't know from the docs" states honestly; never
invent answers outside the retrieved context.
- Out of scope: multi-channel (email/WhatsApp/Slack), team seats, an analytics
dashboard, human handoff, scheduled auto-refresh (leave a documented cron hook),
and any hosted control plane.
- README: setup, the ingest command, embedding the widget, and where data lives.The prompt opens pre-filled in your agent. Review it before running.
What would building your own look like?
Crawl a site or docs, chunk and embed the pages into a vector store, retrieve the top matches for a visitor question, and answer with an LLM through an embeddable chat widget.
What you will need
- OpenAI/Anthropic API key
- an embeddings model
- a vector store (pgvector or sqlite-vec)
- a public HTTPS deployment for the widget
People pay so they never touch the plumbing: the crawler that re-indexes when docs change, the dashboard that shows what customers asked, the connectors to their help desk, and a widget that stays up without them running a server. The RAG is easy; keeping it fresh, measured and online is the recurring work.
xscheduled auto re-crawl and content refresh
xanalytics and conversation-history dashboards
xlead capture and human handoff
xmulti-source connectors and integrations
xhosted uptime for the widget
xteam seats and enterprise compliance (HIPAA/DPA/BAA)
Prefer something ready-made?
License, setup, and limitations for each alternative.
How much does MagicChat cost?
- Monthly billing
- $59/mo$59/mo
- Per year
- $708/yr$708/yr
- On a Brazilian card, with 3.5% IOF
- R$308/moR$3,700/yr
Saved to My list. You will see a notice on this site when the price changes.
You complete the purchase on MagicChat’s site. Vibe Radar does not handle payments.
| Plan | Monthly | Annual (per month) | What is included |
|---|---|---|---|
| free | $0/workspace | $0/workspace | 1 chatbot; 100 messages/month; 50 training pages; website embed; community support |
| lite | $29/workspace≈ $29 | - | 1 chatbot; 7,500 messages/month; 500 pages; 1 team member; manual refresh |
| starter | $59/workspace≈ $59 | - | 1 chatbot; 15,000 messages/month; 1,000 pages; 1 team member; manual refresh |
| growth | $129/workspace≈ $129 | - | 2 chatbots; 33,000 messages/month; 10,000 pages; 4 team members; monthly auto-refresh; API access |
| scale | $429/workspace≈ $429 | - | 10 chatbots; 110,000 messages/month; 50,000 pages; 10 team members; weekly auto-refresh; daily auto-scan |
| enterprise | custom | - | Custom message volume, chatbot count, seats and compliance; HIPAA eligible with DPA/BAA on request |
Free tier1 chatbot, 100 messages/month and 50 training pages
Billing termsmonthly + annual (annual advertised at about 40% off; exact effective annual tier prices not exposed)
Additional costsRemoving MagicChat branding costs $59/month. Each extra 5,000-message block costs $59/month. Prices exclude tax; paid plans have a 7-day trial.
verified 2026-08-12 · source ↗
Is it cheaper to build or buy MagicChat?
Adjust the numbers: hours to build, your hourly rate, running costs and the subscription price.
Over 24 months, subscribing is cheaper.
Starting hours estimated from the analysis (weekend). Does not price what you give up (support, integrations, security).
Can I rebuild MagicChat?
Kinda. The core of MagicChat is buildable in a weekend with the prompt on this page, but there are real gaps: scheduled auto re-crawl and content refresh, analytics and conversation-history dashboards. Read the honest list above before committing.
How much does MagicChat cost?
MagicChat costs about $59/mo (Starter, checked 10/20/2026), which is $708 per year.
What do I lose by replacing MagicChat?
Honestly: scheduled auto re-crawl and content refresh; analytics and conversation-history dashboards; lead capture and human handoff; multi-source connectors and integrations; hosted uptime for the widget; team seats and enterprise compliance (HIPAA/DPA/BAA). If any of those are load-bearing for you, keep paying.
Is there an open-source alternative to MagicChat?
Yes: Onyx (Self-hosted chat over your own docs with connectors and permissions; heavier to run than a widget, but the whole RAG loop is yours.) The prompt is for when you want it exactly your way.