Your docs already answer most of your tickets. Let a bot do the answering.
One bot, deployed in your environment, built on nothing but your own material: help center, product documentation, PDFs, past resolved tickets, internal wiki. It answers from that content, cites the exact source on every answer, and hands the thread to a human instead of guessing when nothing in your content matches.
Fixed price, no hourly surprises. Live in 30 days. Paid in four milestones, you release each one only when you approve it.
How it works
Your content in. Cited answers out.
I do 100% of the build: ingestion, chunking, retrieval tuning, the widget, the channel, the guardrails, the dashboard. What I need from you is the list of content sources, read access to them, and a representative set of real questions out of your inbox. This is the kind of system I have built before: chatbot infrastructure at Ebbot, and the Go backend behind Remy at Nomad Nomes, with conversation understanding, persistent memory, hybrid search and retrieval on Postgres with pgvector. Chatz, the self-hosted AI chat application I publish, is the serving half of that shape and open to read: streaming answers, pluggable OpenAI-compatible and Anthropic models, MCP tools, one container.
I ingest what you already wrote
Help center, product documentation, PDFs, past resolved tickets, internal wiki. Each source is chunked the way it reads, so what comes back is the passage that answers the question, not a whole document.
Retrieval gets tuned on your real questions
Not demo queries. Real ones out of your inbox, used as the test set that retrieval gets tuned against, and whatever it still misses at the end is written down rather than quietly dropped.
It answers, cites, or steps back
Every answer links the exact article or ticket it came from. When nothing in your content matches well enough, it says so and hands the thread to a person.
What you get
One build. Live in 30 days.
No tiers, no seats, no per-resolution fee, nothing locked behind an upgrade. The whole thing, wired to your content and deployed on your own infrastructure.
Your content, as it already is
- Every source you point me at: help center articles, product documentation, PDFs and manuals, past resolved tickets, internal wiki pages
- Chunking per source type, so a long PDF manual and a three-line FAQ entry both come back as the passage that answers the question
- Re-ingestion on a schedule, so editing an article changes what the bot knows without anyone rebuilding an index by hand
- Your real questions as the test set, pulled from your own inbox and used to tune retrieval, with the ones it still gets wrong listed rather than hidden
- The index on your own database, Postgres with pgvector, on hardware you control
Cited, or it does not answer
- A citation on every answer, linking the exact article, page or ticket, so the reader can check it in one click
- Refusal instead of invention: nothing above your confidence threshold means it says it does not know and offers a person
- A web widget on your site, styled to match it, plus one team channel: Slack, Teams, Discord or Telegram
- Escalation rules you set: weak retrieval, an explicit ask for a human, or a topic you mark as hands-off, each routed with the full thread attached
- A dashboard of what it answered, what it escalated and which questions it keeps failing, which is the list that tells you what to go write
Yours, forever
- A repository with a Dockerfile, shipped through your normal review and your normal pipeline
- The same reusable CI as everything else I publish: linting, tests and vulnerability scanning on the code, an image scan, an SBOM and provenance on every build
- Runs on your infrastructure, your documentation and your ticket history stay on hardware you control
- Bring your own model, anything speaking an OpenAI-compatible or Anthropic-compatible API, hosted or self-hosted; you pay your provider directly, I take no cut
- Deployment, documentation and a tuning window after handover, so your team can run it without me
It answers from your content. It does not act on your systems.
No tiers, no seats, no per-resolution fee. You are paying for the engineering: the ingestion, the retrieval tuning against your own questions, the guardrails that make it refuse instead of guess, the channels, the dashboard, and a working handover. More source types or extra channels beyond the agreed scope are flat add-ons, quoted up front, never surprise scope.
- 1
Scoping and content inventory $2,000
Written scope, the confirmed list of content sources, access in place, repository created with CI running.
- 2
Ingestion and retrieval $3,500
Content ingested and chunked, retrieval tuned against a real question set, first working demo answering from your own material.
- 3
Channels, guardrails and dashboard $3,000
Web widget and team channel live, escalation rules, refusal behaviour, the answer and escalation dashboard.
- 4
Tuning and handover $1,500
Tuning window against real traffic, documentation, handover.
Paid in four milestones. Each one is agreed before it starts and paid only when you approve its deliverable, so you never pay up front for work you have not seen.
Why not an off-the-shelf support bot
The SaaS bots want your content on their servers.
Your content stays yours
The SaaS route starts by uploading your documentation and your ticket history into a vendor’s index. Here the content and the index sit on your own hardware, and the only thing leaving your network is the model call you configure. Self-host the model and nothing leaves at all.
No seats, no per-resolution fee
You pay once to build it, then run it. Billing per resolved conversation means the better it works the more it costs you, which is a strange way to buy software, and per-seat pricing taxes you for letting your own team watch the queue.
You control retrieval and refusal
Chunking, the retrieval threshold, what counts as weak evidence, when it refuses, when it escalates and the words it uses: all of it is config in a repository you own, not a slider in someone’s admin panel. And every answer carries its source, which most of them do not give you at all.
Pay once. Run it as long as you like.
Full source, open building blocks
Your build ships to you as full source, and the reusable pieces under it are open on my GitHub. The prompts, the retrieval rules and the refusal thresholds are files you can read and change. Nothing you run is a black box.
Runs on your infrastructure
Bot, index, widget backend and dashboard all live on your hardware. Your documentation and your ticket history are never uploaded to me or to a vendor. The only thing that leaves is the model call you configure.
Paid in phases, never up front
Four milestones, each agreed before it starts and paid only when you approve its deliverable. You never pay up front for work you have not seen.
Direct B2B on your own contract and invoicing, reach me on LinkedIn and we sort the terms.
No subscription to keep it running
Pay once to build it, then run it forever. Content Care, the monthly maintenance retainer, is there if you want it. A choice, never a requirement.
After handover, if you want it
Content Care: the bot keeps up with your docs.
Documentation moves. New products, rewritten articles, retired features, and a growing pile of material that makes retrieval harder rather than easier. The build is yours to run with no dependency on me, but if you would rather not own that upkeep, Content Care keeps it current. $600/month, no minimum term, cancel any month.
Re-ingestion the schedule cannot do
The scheduled run already picks up edited articles on its own. This is the rest: a source that moved, got renamed or changed export format, a feed that started failing quietly, and the retired passages that linger in the index afterwards, so it stops citing the version you deleted.
Retuning as the content grows
More material makes retrieval harder: near-duplicate articles, overlapping answers, thresholds that used to be right. I retune chunking and retrieval, and model and dependency updates ship through the same CI as the original build.
The failed-answer list
I watch the questions it keeps failing and fix the cause: a chunking problem, a threshold, or a hole in your documentation, which I point at so someone can write it.
It does not cover writing your documentation for you, adding new channels, or answering tickets, which is your team’s job and the whole reason the escalation path exists. New channels and new source types are quoted as add-ons.
Straight answers
What does the price cover?
One build: your content sources ingested and chunked, retrieval tuned against a real question set out of your inbox, the web widget, one team channel, the escalation and refusal rules, the answer and escalation dashboard, full source as a repository with a Dockerfile, deployment, documentation, and a tuning window after handover. Extra source types or extra channels beyond the agreed scope are flat add-ons, quoted up front.
How does payment work?
In four phases: scoping and content inventory ($2,000), ingestion and retrieval ($3,500), channels, guardrails and dashboard ($3,000), tuning and handover ($1,500). A phase is agreed before it starts and paid when you approve that phase’s deliverable, so you are never paying up front for work you have not seen.
How do we actually engage?
Direct B2B, on your own contract and invoicing. Reach me on LinkedIn, tell me what content you have and what your queue keeps asking, and we sort the terms and the paperwork directly, including an NDA first if that is your policy. I do not run this one through a freelance platform.
What do you need from my team?
One scoping call to go through what you have written and which questions matter. Then read access to each source, created by you: a help center export or crawl access, a documentation repository, a read-only API token for your ticketing system, a wiki export. A set of real questions out of your inbox, which is what retrieval gets tuned against. And someone who can tell me whether an answer is correct during the tuning window, usually an hour or two a week. For running it, your team ships the container through your normal pipeline, or you hand me a deploy target and I do it, your call.
What counts as content you can ingest?
Anything with readable text behind a credential you create: a help center with an export or crawlable pages, documentation in a repository or on a site, PDFs and manuals with a real text layer, past resolved tickets through your ticketing system’s API, wiki pages, structured FAQ files. What does not count: knowledge that only exists in someone’s head, a decision buried in a chat thread nobody wrote up, and screenshots or scanned pages with no text layer. OCR over scans is possible and gets quoted separately when the content is worth it.
How much content do I need for this to be worth doing?
Enough that the repetitive questions actually have answers written down somewhere. A ten-page help center is not a candidate: the bot would refuse most questions, correctly, and you would have paid for the privilege. What I look for during scoping is the overlap between your real question set and your material. If most of those questions already have an answer in your content, this works. If they do not, you have a documentation problem first, and I will tell you that instead of selling you a bot.
Can it make an answer up?
It is built so that the failure mode is refusal rather than invention. Answers are composed only from passages retrieved out of your content, every one carries its source link so the reader can check it in a click, and when nothing clears the confidence threshold it says it does not know and offers a person. An LLM can still misread a passage it retrieved correctly, which is exactly why the citation is mandatory and why the escalation path exists: a wrong answer is visible and checkable in one click, not a mystery. The tuning window is spent on precisely that, the questions it answered badly and whether the cause was retrieval, chunking or a gap in the documentation.
Can it do things in my systems, like issue a refund?
Not in this build. It reads your content and answers from it. Refunds, account changes, order edits and subscription changes need write access to your systems and a different standard of review, so they are quoted separately. If you want them later, the retrieval side does not change, they go on top of it.
Is my content safe? Which model does it use?
The bot, the index, the widget backend and the dashboard all run on your own infrastructure. Your documentation and your ticket history are never uploaded to me or into a vendor’s index. The only thing that leaves your network is the model call you configure, and the model is your choice as long as it speaks an OpenAI-compatible or Anthropic-compatible API: that covers the big providers, the aggregators, and anything you run yourself behind an OpenAI-compatible endpoint, which is what vLLM, Ollama and similar servers expose. Self-host the model and nothing leaves at all. You pay your provider directly at their rates, and I take no cut of it.
What does it cost to run?
The model is the only meaningful running cost, and a retrieval bot is cheap next to an agent: one retrieval and one short composed answer per question. The spend depends on which model you pick and how much traffic the widget takes, so I estimate it against your real question volume during scoping. Self-host the model and the token bill disappears; the rest is a container and a database on hardware you already run.
What happens after handover, and do I own it?
A tuning window against real traffic comes before handover, and the documentation covers re-ingesting content, changing thresholds and adding a source. After that, Content Care picks up the upkeep on a monthly retainer if you would rather not own it, at $600 a month with no minimum term. Always a choice, never a requirement.
Tell me what your inbox keeps asking.
This is for teams whose support queue is mostly questions their own content already answers. Send me what you have written and where it lives, plus the questions you are tired of retyping. We get on a call, I scope it, and 30 days later it is answering them on your site with the source attached. You end up with a repository and a container your team can deploy anywhere, or I deploy it for you.
Direct B2B, on your own contract and invoicing. Reach me on LinkedIn and we sort the terms, NDA first if that is your policy.