[verdict][prompt curatoriat][sursă: animam.ai][traducere: la coadă]
Pot să vibecodez Animam.ai?
// se construiește într-un weekend, dar rămân goluri reale
The chat is a weekend. Everything that makes it safe to point at customers is not. Ingest a site, search it, stream an answer · that part is commoditised and the prompt below really does it. What resists is the boring half: an amount computed by the server and never by the model, a visitor email verified before it triggers anything, signed webhooks with retries, and a sending domain whose reputation you did not build in an afternoon.
încredere: ridicată
ce e: An agent that answers from your site's content, captures leads, quotes and books · server-side.
Indice de constructibilitate · joc editorial
- Preț 32 $/lună greutate: plus 3
- Timp un weekend greutate: plus 2
- Categorie aplicații no-code nu cântărește
- Moat scara infrastructurii · calitatea execuției greutate: minus 3
- Încredere ridicată greutate: plus 1
- Ce pierzi 7 elemente greutate: minus 3
- Site animam.ai (si apre in una nuova scheda) nu cântărește
Se anulează. E cazul în care decide cât de tare te enervează abonamentul.
Gioco editoriale: il verdetto dice se un agente può, l’indice se conviene.
Ce construiești
Crawl the sitemap, strip the chrome, store the text, retrieve the 5 best passages by keyword, stream a grounded answer, and refuse to answer outside the context.
ce îți trebuie
- An LLM API key (Anthropic, OpenAI, or a local model)
- A place to run a small Node server (a 5 EUR VPS is enough)
- SQLite, or any database you already run
- A domain you can serve the widget from
Self-submitted by the people who sell it. The honest verdict is 'kinda', not 'not really': if we claimed our own chat layer could not be rebuilt in a weekend we would be lying, and this audience would know. The prompt below is the real one · it is not weakened to protect the subscription. What it deliberately leaves out is listed in whatYouLose, and that list is the product.
Promptul
Un weekend cu un agent de coding. Golurile care rămân sunt mai jos, la „ce pierzi”.
Build a website chat widget that answers strictly from a site's own content. Node 20 + TypeScript, no framework.
1. Install hono, @anthropic-ai/sdk, cheerio, turndown, better-sqlite3.
2. scripts/ingest.ts takes a sitemap.xml URL as argv and fetches every page, concurrency 4, skipping non-HTML.
3. Strip nav, header, footer and script tags with cheerio, then convert what is left to markdown with turndown.
4. Upsert into SQLite pages(url PRIMARY KEY, title, body, fetched_at) so re-running updates rows instead of duplicating them.
5. src/search.ts takes the 3 to 6 most distinctive words of the question and runs SELECT url, title, substr(body,1,1200) FROM pages WHERE body LIKE ? for each.
6. Rank by number of hits and return the top 5. No embeddings: under ~500 pages LIKE is cheaper, instant, and you can read why a passage was picked.
7. src/server.ts is a Hono app with POST /chat {message, sessionId}.
8. Put the 5 passages and their URLs in the system prompt, call claude-haiku with stream:true, and pipe SSE to the client.
9. System prompt: "Answer only from the CONTEXT below, and cite the page you used."
10. Continue it: "If the answer is not in the context, say you do not know and offer to take a message."
11. And the line that matters: "Never state a price, a date or an availability that is not written in the context."
12. public/widget.js is an IIFE that injects a bubble into a shadow DOM and keeps sessionId in localStorage.
13. It consumes the SSE and writes every message with textContent, never innerHTML · the text comes from a model that read the internet.
14. Store sessions and messages in the same SQLite file, so you can read back what people actually asked.
15. ANTHROPIC_API_KEY lives in .env, server-side only, and never reaches the bundle.
16. No telemetry, no third-party script in the widget.
17. Serve /widget.js with CORS * and a 5 minute cache so a single <script> tag installs it on any page.
Out of scope on purpose, and each of these is a week rather than a line: booking on a real calendar, payments,
quotes with amounts computed server-side, human handover, transactional email that reaches the inbox,
multi-tenancy, GDPR consent, rate limiting and abuse protection. Prompt curatoriat: scris și revizuit manual pentru această aplicație. În engleză intenționat — e limba în care agenții de coding se descurcă cel mai bine.
Ce pierzi
- Amounts computed server-side from a price grid · the model picks the SKU, it never produces the number
- Visitor identity verified by one-time code before any server-to-server action runs
- Signed outgoing webhooks with exponential backoff, delivery log and manual redelivery
- SSRF guard with DNS resolution on every URL the agent is allowed to call
- Per-tenant secrets encrypted at rest, and tenant isolation you did not have to think about
- Email deliverability · a warmed sending domain is not something you prompt into existence
- The evening the model provider changes a default and your widget starts making things up
De ce se plătește în continuare
Because the demo is the easy half. A chat that answers is a weekend; a chat you can leave in front of customers for a year is an operations job · someone watches deliverability, re-crawls the site, keeps the model from inventing a price, and is there the day it breaks. People pay for the second half, and they are right to.
moat: Scara infrastructurii Calitatea execuției ce e un moat
operations/compliance/deliverability
Cine l-a construit deja
Să pornești de aici e tot vibecoding: promptul e pentru când o vrei exact în felul tău.
- Chatwoot (se deschide într-o filă nouă) — Self-hosted support inbox with a website widget (open-source)
- Typebot (se deschide într-o filă nouă) — Open-source conversational forms and chat flows (open-source)
- Onyx (ex-Danswer) (se deschide într-o filă nouă) — Open-source RAG chat over your own documents (open-source)
Ești de acord?
Balanța voturilor
Ancora nessun voto: il tuo è il primo.
Nessun voto ancora — il primo pesa.