Stop answering "what are your hours?" for the hundredth time
Half the messages a small business gets are the same handful of questions: hours, prices, do you take walk-ins, where do I park, what's your cancellation policy. They come in at 9pm, on weekends, while you're with a customer. Miss one and that person texts the next shop on their list.
This kit is a receptionist that already knows your business. You hand it your own documents (your FAQ, hours, service list, policies), and it answers customers only from those documents, showing you which part of which doc it used. When someone asks something the docs do not cover, it does not guess: it says "let me have someone follow up" and captures them as a lead so you can call back.
Drop in your docs: the front-desk binder you own
data/docs/: a hours-and-location note, a services-and-prices list, your
FAQ, your policies (cancellation, deposits, refunds). Markdown or text, written in your
own words. The kit reads only these. Nothing it says comes from anywhere else.| File in data/docs/ | What it holds | Example line |
|---|---|---|
| hours.md | hours | Open Tue to Sat, 9am to 6pm. Closed Sun & Mon. |
| services.md | services | Women's haircut $55, men's cut $35, full color from $120. |
| policies.md | policy | Cancel at least 24 hours ahead or a 50% fee applies. |
| faq.md | faq | Yes, we take walk-ins when a chair is open. Parking is free in the rear lot. |
Index it: chunk the docs so the right line can be found
npm run index once (and
again whenever you edit a doc). The kit's indexer.js splits each document
into small, overlapping chunks (a paragraph or two each) and builds a searchable
index on disk. Why chunk? So a customer asking about parking gets the one paragraph
about parking, not your whole policy manual. This is the "retrieval" half of
RAG, and it is exactly what
embeddings make possible.npm run index # chunk data/docs/ and build the on-disk index
Under the hood the kit scores each chunk against the question by similarity, then hands the top few to Claude. You never see this; you just get an answer that points back at the exact lines it used.
Give it a brain: connect Claude
- Go to console.anthropic.com and sign in.
- Open API Keys โ Create Key.
- Copy the key (it starts with
sk-ant-). The setup wizard saves it on your machine.
claude-opus-4-8 (sharpest). High volume? Set claude-haiku-4-5 to cut cost.
Try it: ask a question, watch it retrieve and cite
Tap a question, or write your own:
When it does not know: capture a lead, never bluff
โข It answers only from your docs and shows you what it cited. Grounding in your docs sharply reduces hallucination (it does not eliminate it: always sanity-check the docs and the wording).
โข It never invents a policy or a price. No matching doc means a follow-up, not a guess.
โข It does not give medical, legal, or financial advice as fact; it points those to a human.
Put it on a channel: chat or SMS
npm run dryrun # ask questions in your terminal, nothing sends npm run index # re-chunk docs after you edit them npm start # run the Telegram receptionist for real npm run mcp # expose it as an MCP server (drive it from Claude)
DRY_RUN on. In dry-run it drafts and plans but the mailer and any outbound
channel are gated off, so you can watch it work before a single real reply leaves your
machine.Run it yourself: it's free and it's the real thing
The kit is a complete, runnable, MIT-licensed repo: drop in docs, npm run index
to build a real on-disk retrieval index, and a grounded answer engine that cites its sources,
captures leads, and refuses to guess. Runs on your machine, nothing crippled.
Go live
With the kit downloaded:
npm install npm run setup # Claude key + docs path saved on YOUR machine npm run index # build the retrieval index from your docs npm start # run the receptionist
Edit your docs whenever the business changes, re-run npm run index, and the
answers update. Prefer the command line first? npm run dryrun lets you ask
questions and see the cited snippets without sending anything. The deeper background lives
in Lesson on RAG and Lesson on embeddings.
Want it wired to your phone, your website, and your real docs?
This kit is the DIY taste. We connect it to your phone, website, and real docs, and route the handoffs so the questions it cannot answer reach the right person, and we keep the index fresh as your business changes.
Have Rabbithole build it โ โณ Pair it with the Lead Catcher