Preparing for launch…
Preparing for launch…
A self-hosted AI helpdesk that answers only from your own docs with citations validated in code, hands anything ungrounded to a human, and never touches refunds, legal, security or cancellations.

Most AI support tools fail the same way: confidently, about money. SupportPilot is built around the opposite posture — the model drafts only from passages retrieved out of your own documentation, every reply's citations are checked by code before anything is stored or sent, and the four conversations that can actually hurt you — refunds, legal, security, cancellations — are hard-coded to route to a human before a single token is spent. That list is code, not configuration, so no config mistake can turn it off. Everything runs on your infrastructure. Ingestion turns your Markdown, HTML, text and PDF docs into a heading-aware index where the headings become the citations customers see. Retrieval is deterministic BM25 with query-side synonyms and a grounding signal — no embedding calls, no vector database, testable in CI and evaluable offline with no API key (docs/architecture.md defends this choice properly). The model — Anthropic or OpenAI, via plain fetch — writes the final reply under a contract the parser then enforces: no citations, or citations to passages that were never provided, and the draft is rejected and escalated with the rejected draft attached for the reviewing human. An uncited answer never reaches a customer, even when it happens to be right. Two channels ship wired. The chat widget is one script tag, answers with source chips, and hands off politely the moment retrieval can't ground a question. The email channel polls your support mailbox over IMAP and has the feature this category actually needs: shadow mode, where every draft waits in the review inbox and NOTHING sends until a human clicks approve — the going-live checklist walks you from shadow to live in earned stages, and rollback is a one-line env change. Escalations email your team with a deep link straight to the ticket. The evaluation harness is the quality gate: 40 scored sample tickets — messy, typo-ridden, realistic — run against the included sample company (Northbeam Gear Co., 12 docs). Offline, with no key, it verifies deterministically that guarded topics route to a human, answerable questions clear the confidence gate and retrieve the right document, and out-of-scope questions escalate. The shipped configuration passes 40/40, and the demo's terminal replay shows the actual run from when the demo was generated. Rewrite the tickets for your business and the harness becomes your regression suite; the escalation playbook documents the weekly loop that turns escalations into knowledge-base fixes. Before listing, the whole product was exercised on a live boot: real widget conversations (answered with citations, refund guarded, kayaks escalated), a real email run through the parser and pipeline into a cited draft, and the inbox screenshots in this listing are that run — not mockups. A keyless demo provider (clearly watermarked, extractive, double-blocked from ever emailing a customer) lets you evaluate the entire pipeline the same way before adding an API key.
- Full source: 61 files of dependency-light Node (imapflow, nodemailer, pdf-parse — the whole list); no framework, no database - Ingestion CLI for Markdown/HTML/text/PDF with heading-aware chunking and stable citation ids - Deterministic retrieval: BM25, query-side synonym table, grounding + confidence signals shown on every ticket - Citation-ENFORCED answering via Anthropic or OpenAI, plus a keyless watermarked demo provider for evaluation - Embeddable chat widget (one script tag) and a token-gated review inbox with approve/dismiss and deep links - Email channel: IMAP worker, shadow mode (drafts only), live mode with escalation notifications - 40-ticket evaluation harness with offline scoring + 12-doc sample company (Northbeam Gear Co.) - 81 unit tests (node --test, zero test dependencies), Docker compose, .env template with readable validation - Docs: README, architecture (why lexical retrieval), escalation playbook, going-live checklist
- An LLM subscription or API key (the demo provider works keyless for evaluation; real answers cost a short completion per ticket on your own key) - Hosting (any 1GB VPS or the included Docker compose on your box) - Zendesk/Intercom/Freshdesk migration tooling — SupportPilot reads a docs folder and a mailbox, not a ticket-system export - A guarantee that AI should answer everything: the product's core feature is knowing when to hand off
- Node.js 20+ (or Docker + compose) - Your help documentation as files (Markdown/HTML/text/PDF) - An Anthropic or OpenAI API key for real answers (not needed to evaluate) - IMAP/SMTP credentials for your support mailbox if you use the email channel - Comfort with .env files and a terminal — this is a self-hosted product
1. npm install, copy .env.example to .env, set INBOX_TOKEN (the review inbox's key). 2. node src/ingest.js kb-sample && node eval/run-eval.mjs --offline — watch the shipped 40/40 pass, no API key needed. 3. npm start and open localhost:3000 — the widget is live on the status page; ask for a refund and watch it hand off. The review inbox is /inbox?token=…. 4. Make it yours: docs into ./kb and re-ingest; edit config/supportpilot-config.json (name, tone, handoff message, extra guarded topics); set SUPPORTPILOT_PROVIDER and your key. 5. Rewrite eval/tickets.json with real questions from your inbox and keep the harness green — it's your regression suite (npm test for the 81 unit tests). 6. Email: configure IMAP/SMTP, EMAIL_MODE=shadow, npm run worker — then earn live mode with docs/going-live-checklist.md.
Single-business commercial licence. Deploy and run SupportPilot for one business's customer support, and modify it freely for that business. Each additional business needs its own licence. You may not resell, redistribute or re-list the source, prompts, harness or a derivative as a product, whether paid or free.
14-day refund if the product is materially not as described in this listing or its demo. The demo is generated from the shipped source — the code panels are verbatim, the counts are asserted at generation time, and the screenshots are the real product mid-acceptance-run — so you can judge exactly what you're buying first. Refunds are not offered for change of mind or third-party costs (model usage, hosting). Open a refund request from your Launchstock library and we will respond within 2 business days. An approved refund ends your licence to the product — you must delete all copies of the files and stop using them.
Email support (hello@thornelabs.dev) for 3 months from purchase, replies within one business day. Covers setup, ingestion, eval-harness calibration, the email channel and the going-live process on unmodified code. Custom integrations or features are available as paid work.
These terms are snapshotted at purchase — what you see here is what applies to your order.
Reviews come from verified purchasers only, so you can trust what you read here.
Other listings buyers compared with this one.
Paste a headline, get a 0–100 score across 5 research-backed dimensions plus concrete rewrites. Pure JS — no AI calls, no account.
Paste a discovery-call transcript; approve a fact sheet; get a scoped, priced, client-ready proposal in your voice — priced only from your rate card, never from guesses.
Prompt system that turns messy meeting transcripts into accurate minutes, decisions and action items — never invents owners or dates.