Pular para o conteúdo

Seu usuário aponta na tela. Seu time resolve.

Cole uma linha no seu produto e um botão de feedback aparece. Quem reporta clica no elemento e escreve o que aconteceu. Você recebe a captura marcada, o seletor, os erros de console e as requisições que falharam.

O que chega hoje

“Deu erro na hora de finalizar”

O que o Clixy entregaBug
Elemento
[data-clixy-id="finalizar-compra"]
Página
/carrinho
Console
TypeError: cannot read property total of undefined
Rede
POST /api/checkout 500 · 412 ms
Navegador
Safari 18 no macOS, 1440×900

Todo time conhece essas frases.

“não funciona”“deu erro na hora de finalizar”“seria bom ter um filtro aqui”“esse valor está errado”

Cada uma custa uma ida e volta inteira só para descobrir onde olhar. Com o Clixy, o relato já chega dizendo onde está o problema.

Três passos

Do snippet ao commit, sem sair do que você já usa.

1

Cole uma linha

Funciona em React, Vue, Angular, Rails ou WordPress. O estilo do widget fica isolado: não herda nem vaza CSS.

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

Seu usuário aponta e descreve

O widget abre na língua de quem reporta. A pessoa escolhe a categoria, toca no elemento e escreve. O resto é coletado sozinho.

BugInterfaceDado erradoSugestão
3

O relato chega onde o time trabalha

O painel está em todos os planos. Tracker e agente entram no Desenvolvedor.

Painel · situação, prioridade e responsávelGitLab · GitHub · issue pela categoria e pela páginaMCP · seu agente lê e age

O que vem junto de cada relato

Nada disso é digitado por quem reporta.

Captura com o ponto marcado

Recortada em volta do elemento. Senhas e o que você marcar com data-clixy-mask saem borrados.

Seletor do elemento

Prioriza data-clixy-id, data-testid e id, para você achar no código o componente certo.

Erros de console

Coletados desde o carregamento da página. O erro que explica o bug costuma acontecer minutos antes da reclamação.

Requisições que falharam

Método, URL, status e duração de tudo que voltou 4xx, 5xx ou não respondeu. Tokens na URL são removidos antes do envio.

Feedbacks#128

“Deu erro na hora de finalizar”

BugAlta4 relatos
ConsoleTypeError: cannot read property total of undefined
RedePOST /api/checkout 500 · 412 ms
TriarAbrir issue
Clientes · 24Time · 9
Deu erro na hora de finalizarprodução
O valor do frete está erradoprodução
Cupom aplicado duas vezeslocalhost
Na revisãoPlano Desenvolvedor

O teste do seu time não vira reclamação de cliente

Desenvolvimento e homologação. PM, QA e quem revisa a tela apontam por ali. Localhost já chega classificado; homologação você marca na origem.

Fora da franquia. Relatos do time não descontam os relatos no ar.

Métricas que não mentem. Um bug testado dez vezes pelo QA não aparece como dez clientes insatisfeitos.

GitLab · GitHubPlano Desenvolvedor

O feedback vira issue onde o time já trabalha

Contexto completo em markdown legível, no repositório certo pela categoria e pelo caminho da página. Fechou a issue, o feedback fecha aqui; reabriu, ele reabre. Labels aplicadas à mão continuam onde estão.

Regras de destino
Bug/carrinho/*aurora/checkout
Sugestãoaurora/ideias
Todo o restoaurora/loja
Para quem trabalha com agentePlano Desenvolvedor

O agente de vocês lê os feedbacks

Uma chave de MCP por pessoa. Claude Code, Claude Desktop ou Cursor passam a ler, comentar e mudar a situação dos relatos, sem copiar e colar.

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

list_projectslist_feedbackget_feedbackupdate_feedbackcomment_feedbackfeedback_stats

Lista os bugs de interface abertos desta semana.

São três. O mais citado é o botão de finalizar compra: quatro relatos, todos com TypeError por total indefinido em /carrinho.

Corrige o primeiro.

O total era lido antes de o carrinho carregar, em Checkout.tsx. Ajustei e marquei o feedback como resolvido.

Detalhes que importam

O widget roda dentro do seu produto. Ele é tratado com esse cuidado.

13,9 kBno carregamento

A biblioteca de captura só é baixada quando alguém pede uma captura.

Shadow DOMisolamento total

Nem o CSS do seu site alcança o widget, nem o dele vaza para a página.

Sem IPo endereço nunca é guardado

Só um hash dele, usado para limitar abuso.

Origem fixaa chave sozinha não basta

Quem autoriza o envio é a lista de origens que você cadastra.

Planos

O relato é igual em todos: captura, seletor, console e rede. O que muda é o canal e quem age em cima dele.

Perguntas

O widget deixa meu site mais lento?

Ele carrega de forma assíncrona e ocupa 13,9 kB comprimidos. A parte pesada, a captura de tela, só é baixada quando alguém pede uma captura.

O que acontece quando passo da franquia?

No Gratuito, o botão sai do ar até o mês virar. No Cliente e no Desenvolvedor, o botão continua e o que passar é cobrado como excedente. Durante o beta, a franquia ainda não é cobrada.

E se alguém copiar minha chave pública?

A chave identifica o projeto, não autoriza o envio. Só as origens cadastradas conseguem mandar feedback, com limite de taxa por endereço e por projeto.

A captura pega dados sensíveis?

Campos de senha saem borrados. Qualquer outro elemento sai borrado se você marcar com data-clixy-mask. A captura também pode ser desligada por projeto.

Serve só para bug?

O projeto nasce com bug, interface, dado errado e sugestão, e você troca as que quiser. Todas chegam com o mesmo contexto técnico.

Preciso usar agente de IA?

O painel funciona sozinho em todos os planos. Agente e tracker estão no Desenvolvedor, para quem quer pular o copiar e colar.

Funciona com o meu framework?

É uma tag script comum. Se a página roda no navegador, o widget roda nela.

Em que língua o widget aparece?

Na língua do navegador de quem reporta, ou numa língua fixa que você escolhe por projeto.

Comece pelo primeiro projeto

Criar a conta, pegar a chave e colar o snippet leva menos tempo que ler esta página.

Criar conta grátis