Intake
A self-hostable feedback and support intake system built around a real conversation instead of a dumb form. An embeddable widget runs a short AI triage with the user, then a single Go binary routes a clean, structured ticket into the tools you already run.
// status: public beta — grab a release, or contribute, on GitHub
Why it exists
Most feedback widgets do one of two unsatisfying things: they auto-attach a pile of context with no actual triage, or they lock your data inside a closed SaaS backend. Intake is the third option, the open, self-hostable, AI-native one, for teams that want a real intake conversation, full control over their data, and a clean integration into the support and feedback tools they already use.
How a report becomes a ticket
The widget greets the user and asks them to describe the problem, then asks up to a few clarifying questions to pin down severity, scope, and how to reproduce it. When there is enough detail, it captures context, the page URL, a screenshot the user can redact, host-app state, and posts a structured payload to the relay. The relay classifies it, picks an adapter, and creates the ticket. The user gets a link back to it.
Built to be owned
Everything runs on infrastructure you control. The relay is a single static binary, no database required and no phone-home. You choose the model, including a fully offline Ollama instance so no conversation ever leaves your network. The framework, the widget, and the free adapters are Apache 2.0; the paid adapters are gated by a signed license key at runtime.
Four decisions that define it.
Conversation, not a form
Triage happens at the front of the funnel. The widget asks the questions a good support engineer would, so the ticket that lands downstream is already scoped, classified, and summarized, instead of a one-line "it's broken."
One binary, no SaaS
The relay deploys as a single native executable or a container, stateless by design. Run it on a $5 VPS. There is no backend service to subscribe to and nothing phoning home.
Routes into what you already use
Pluggable adapters translate one canonical payload into Chatwoot, Fider, Linear, Zendesk, or a generic webhook, with screenshot attachments forwarded through each system's native upload.
Your model, your data
Swap the LLM provider in config, all the way to a local Ollama model for fully offline operation. No telemetry, no third-party data sharing, strict per-IP and per-session rate limits, and a daily spend cap baked in.
Try the beta.
Intake is in public beta, developed openly under Apache 2.0. Grab the latest release, self-host it, and open an issue or pull request.