[verdict][curated prompt][source: magicchat.ai]
Can I vibecode MagicChat?
// buildable in a weekend, but real gaps stay open
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.
confidence: medium
what it is: Train an AI support chatbot on your own content and embed it on your site
Buildability index · an editorial game
- Price 58 $/month weight: plus 3
- Time weekend weight: plus 2
- Category customer support no weight
- Moat integrations · execution quality · infrastructure scale weight: minus 4
- Confidence medium weight: zero
- What you lose 6 items weight: minus 3
- Site magicchat.ai (si apre in una nuova scheda) no weight
The moat outweighs the price: rebuilding this is a project, not an evening.
Gioco editoriale: il verdetto dice se un agente può, l’indice se conviene.
What you build
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 need
- OpenAI/Anthropic API key
- an embeddings model
- a vector store (pgvector or sqlite-vec)
- a public HTTPS deployment for the widget
AI 'chat with your docs' support bot; the RAG core is a weekend build, the refresh/analytics/hosting layer is the moat.
The prompt
A weekend with a coding agent. The gaps that stay are right below, under “what you lose”.
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. Curated prompt: written and reviewed by hand for this app. In English on purpose — it is the language coding agents work best in.
What you lose
- 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)
Why people still pay
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.
moat: Integrations Execution quality Infrastructure scale what a moat is
connectors, refresh pipeline and hosted uptime
Free alternatives
Not in the mood to build it? These already exist, they are free or open source, and we checked them one by one.
Who has already built it
Starting from here is still vibecoding: the prompt is for when you want it exactly your way.
- Onyx (formerly Danswer) (opens in a new tab) — Open-source AI assistant that answers questions over your own documents
- Flowise (opens in a new tab) — Open-source builder for RAG chatbots you can embed
Do you agree?
The vote balance
Ancora nessun voto: il tuo è il primo.
Nessun voto ancora — il primo pesa.