Feedback Platform
Drop a single <script> tag on any site and get a
floating feedback button — feature requests and bug reports flow into a
single Linear project, labeled by app, with full tracing context, plus a
Slack ping. Framework-agnostic, zero dependencies, rendered inside a
Shadow DOM so it can never clash with your styles.
Add this once, anywhere before </body>:
<script src="https://feedback.andreizimin.com/widget.js" data-project="your-app" defer></script>
Replace your-app with a slug for the site — it becomes the
Linear label and the tracing tag, so feedback is always attributable to
where it came from.
This page has the widget embedded with
data-project="feedback-demo". Look for the
💬 Feedback button in the bottom-right corner — open
it, send a test note, and it'll create a real labeled issue in the
Feedback Collector Linear project.
Everything is configured through data-* attributes:
| Attribute | Default | Description |
|---|---|---|
data-project required |
— | App slug. Used for the Linear label, issue title prefix, Slack tag, and tracing. |
data-endpoint |
/submit on this script's origin |
Override the intake URL (e.g. for a self-hosted backend). |
data-accent |
#226B4E |
Accent colour (hex) for the button and active states. |
data-label |
Feedback |
Text on the floating button. |
data-position |
bottom-right |
bottom-right or bottom-left. |
Every submission records tracing context into the Linear issue's
## Context block: project, page path, full URL, referrer,
user agent, language, viewport, derived environment
(localhost/dev/prod), widget
version, a short trace ID, and an ISO timestamp. A compact one-liner
with the project, environment, and trace ID goes to Slack.