Skip to content
Beta, 20 seats

Your user points at the screen.Your team resolves it.

Paste one line into your product and a feedback button shows up. Bug, idea, interface or wrong data: reporters click the element, write what happened and send. You get the marked screenshot, the CSS selector, the console errors and the failed requests, and you decide what to do with it: triage in the dashboard, send it to your tracker, or hand it to your agent over MCP.

No credit card. 20 beta seats; after that, a waitlist with a launch discount.

The report you get today

Every team that collects user feedback knows these sentences. Each one costs a full round trip just to find out where to look.

What you receive

  • “it doesn't work”
  • “got an error at checkout”
  • “a filter here would be nice”
  • “this number is wrong”

What Clixy delivers

Category
Bug
Element
[data-clixy-id="finalizar-compra"]
Page
/checkout
Console
TypeError: cannot read property total of undefined
Network
POST /api/checkout returned 500 in 412ms
Browser
Safari 18 on macOS, viewport 1440x900

Three steps

From snippet to commit, without leaving what you already use.

  1. 01

    Paste one line

    Works on any site: React, Vue, Angular, Rails, WordPress. The widget assumes nothing about your code, and its styling stays inside a Shadow DOM, neither inheriting nor leaking CSS.

    <script src="https://app.clixy.app/w.js" data-key="pk_live_..." async></script>
  2. 02

    Your user points and describes

    The button opens a panel in the reporter's own language. They pick a category, click the element that broke and write what happened. The widget collects the rest on its own.

    Clixy feedback button in the bottom right corner of a website
  3. 03

    The report goes where your team works

    It lands in the dashboard with everything attached, and from there it goes whichever way you prefer: triage with status, priority and assignee; an issue in GitLab or GitHub, by category and by page; or your agent reading it all over MCP. The three paths coexist, and none of them is required.

    claude mcp add --transport http clixy https://app.clixy.app/mcp/ \
      --header "Authorization: Bearer sk_live_..."

What travels with every report

None of this is typed by the reporter. The widget collects it while the person uses your product, and sends it in the same payload.

  • Screenshot with the spot marked

    The capture is cropped around the element they picked, with it highlighted. Password fields and anything you tag with data-clixy-mask come out blurred.

  • The element CSS selector

    It prefers the attributes you already use: data-clixy-id, data-testid, id. That is what lets you find the reported component in your code.

  • Console errors

    The hooks install on page load, not at report time. The error that explains the bug almost always happens minutes before the person decides to complain.

  • Failed requests

    Method, URL, status and duration for anything that returned 4xx, 5xx or never answered. Tokens in the query string are stripped before leaving the browser.

Feedback detail in the dashboard, with picked element, console errors and failed requests
Feedback detail screen, with the context that arrived with it.

And the team works on it right there

Status, priority, assignee and internal comments. A list with filters or a board to drag between statuses, with roles for whoever joins by invitation. None of this needs an AI agent: it is the dashboard the team uses day to day.

Feedback list in the dashboard, with filters by status
List with filters by status, category and priority.
Feedback kanban board, with one column per status
Or a board, to drag between statuses.
Customers on one side, team on the other

Your team testing never reads as a customer complaint

Every report is born knowing where it came from. What the team reports from localhost or staging lands in a separate context, with its own metrics. The dashboard opens on production: feedback from the people actually using your product.

  • Nothing to configure on localhost

    Turn local origins on and development feedback is classified from birth. Staging is a mark on the registered origin, and everything else defaults to production.

  • Metrics that do not lie

    A bug QA tested ten times never shows up as ten unhappy customers. Each context counts only its own, in the list, on the board and in the numbers up top.

  • The agent separates too

    The MCP tools filter by environment and default to production, because that is the report your agent should prioritize. The team one is a parameter away.

Feedback list in the dashboard on the customers context, with the Customers and Team switch at the top
The dashboard opens on customers: production only.
Feedback list in the dashboard on the team context, with every report marked by environment
The team context, with every report marked by environment.
From here to your tracker

Feedback becomes an issue where the team already works

Connect GitLab or GitHub and the report opens an issue with the whole context in readable markdown, not in a JSON blob. Whoever fixes it reads the picked element, the console and the failed requests without leaving the repository.

  • GitLab
  • GitHub
  • Two way, for real

    Close the issue in the tracker and the feedback closes here. Reopen it and it reopens. The reflection acts on the transition and not on the current status, so Clixy never reopens the issue your team closed by hand.

  • Each report in the right repository

    The routing rule decides by the category of the report, by the path of the page where the problem showed up, or by both. The checkout bug goes to the checkout repository, the idea goes to the ideas one.

  • Without erasing your team work

    Writing labels starts from what the issue already has: the ones someone applied by hand stay there. Every issue created carries a Clixy marker, so you can find everything that came from here later.

Tracker configuration screen in the dashboard, with routing rules by category and by path
Configuration screen, with routing rules by category and by path.
For those working with an agent

Your agent reads the feedback

Clixy exposes an MCP server. Connect Claude Code, Claude Desktop or Cursor to your account and the agent starts seeing the reports with their full technical context, without you copying anything.

List the open interface bugs from this week.

Three are open. The most reported is the checkout button: four reports, all with a console TypeError pointing at an undefined total on /checkout.

Fix the first one.

The selector is [data-clixy-id="finalizar-compra"]. I found the component in Checkout.tsx: the total is read before the cart loads. Fixed it and marked the feedback resolved.

  • list_projectsThe account projects, with the count for each
  • list_feedbackSearch by status, environment, category, priority or text
  • get_feedbackBrings element, console, network and screenshot
  • update_feedbackChanges status and priority
  • comment_feedbackRecords an internal comment on the report
  • feedback_statsVolume by status, category and page
Dashboard screen with the MCP server address and the command to connect Claude Code
The screen that shows how to connect your MCP client.

Details that matter

The widget runs inside your product. We treat that with the care it deserves.

13.9 kB

on load

That is what enters on every visit, already compressed. The screenshot library weighs more than that and is only fetched if someone asks for a capture.

Shadow DOM

full isolation

Your site's CSS never reaches the widget, and the widget's never leaks into your page. Tested against a stylesheet that rewrites every button in the document.

No IP

no personal data

Whoever reports a bug is not a Clixy user and consented to nothing. We store a hash of the address to limit abuse, never the address.

Fixed origin

the key alone is not enough

The public key sits in your HTML, and that is by design. What authorizes sending is the origin list you register, not the secrecy of the key.

Pricing

Everything is open during the beta.

Beta

Free

for as long as the beta runs, for the first 20 accounts

  • Unlimited projects and feedback
  • Screenshot, console and network on every report
  • MCP server included
  • Team with roles and invitations
  • Dashboard in Portuguese and English
Create account

There will be a paid plan once the beta ends. Whoever joins now gets advance notice, and nothing starts being charged without your agreement first. After the 20 seats, new signups join the waitlist and get a discount at launch.

Questions

Does the widget slow my site down?

It loads asynchronously and takes 13.9 kB compressed. The screenshot library, which is the heavy part, is only downloaded when someone triggers a capture, so most visits never pay that cost.

What if someone copies my public key from the HTML?

The key identifies the project, it does not authorize sending. Only the origins you register can send feedback with it, and a request without an origin header is refused. There is also a rate limit per address and per project.

Does the screenshot capture sensitive data?

Password fields are blurred automatically. Any other element is blurred if you tag it with data-clixy-mask, which covers data only you know is sensitive. Capture can also be turned off per project.

Is Clixy only for bugs?

No. A project starts with four categories, bug, interface, wrong data and idea, and you can change whichever you want. They all arrive with the same technical context and go through the same triage, and the category is one of the criteria that decide which repository the issue goes to.

Do I have to use MCP?

No. The dashboard stands on its own: list, board, triage, priority, assignee and comments. You can also send the report to GitLab or GitHub with no agent in the middle. MCP is for teams already working with an agent who want to skip the copy and paste.

Does it work with my framework?

The widget is a plain script tag and depends on no framework. If your page runs in a browser, it runs there.

What language does the widget show to reporters?

The reporter's own, detected from their browser, or a fixed one you choose per project. It does not follow your account language, because reporters can be anywhere.

Start with your first project

Creating the account, grabbing the key and pasting the snippet takes less time than reading this page.

Create free account