Sobre o projeto
WebSight é um projeto de web analytics de código aberto e focado em privacidade. Seu objetivo declarado é fornecer aos proprietários de sites os números de que precisam sem transformar os visitantes em um produto: não utiliza cookies, não realiza rastreamento entre sites e não coleta dados pessoais. É oferecido tanto como um aplicativo hospedado quanto como um software que você pode executar inteiramente em sua própria infraestrutura.
Rastreamento e configuração
O rastreador foi projetado para ser leve: o script principal é descrito como tendo menos de 1KB, carregado de forma assíncrona e adiada. A integração pode ser feita de duas maneiras. A mais simples é através de uma única tag de script adiada apontando para o rastreador hospedado, com o site de destino nomeado via um atributo data-site. Outros atributos data-* mapeiam um para um para as opções do pacote, cobrindo itens como modo de persistência, amostragem de Core Web Vitals e exclusões de caminho para rotas de administração ou verificação de integridade. Alternativamente, um pacote npm chamado websight pode ser integrado a um build, expondo uma chamada init tipada, além de funções track e identify para eventos personalizados; track e identify podem ser chamados antes do init e ficam na fila até que o rastreador seja iniciado. Uma integração com React também é fornecida através de um componente Analytics destinado a ser montado no layout raiz.
Capacidades de Analytics
O README lista um dashboard em tempo real com presença de visitantes ao vivo que atualiza conforme os eventos chegam, em vez de ter um atraso, e um globo 3D rotativo que destaca onde os leitores atuais estão localizados. O replay de sessão é alimentado pelo rrweb e é descrito como mascarado por privacidade, habilitado por site a partir do dashboard. Para análise de comportamento, o projeto abrange eventos personalizados, funis de conversão, metas e coortes de retenção, além de filtros e segmentos que podem ser divididos por fonte, país, dispositivo ou campanha. Core Web Vitals e captura de erros de JavaScript estão disponíveis e são carregados sob demanda.
Postura de Privacidade
O rastreamento sem cookies e sem estado é o padrão declarado. O README afirma que a abordagem é amigável ao GDPR, CCPA e PECR, sem a necessidade de consentimento dos visitantes. Links de compartilhamento público podem ser gerados para qualquer site e, opcionalmente, protegidos por senha. O projeto possui licença MIT e é totalmente auto-hospedável.
Arquitetura e auto-hospedagem
WebSight é uma única aplicação Next.js apoiada por um banco de dados Supabase Postgres. O rastreador reside no diretório public do app, portanto, nenhum serviço separado precisa ser operado: um app Next.js apontado para um projeto Supabase. As etapas de auto-hospedagem no README envolvem clonar o repositório, copiar um arquivo de exemplo de ambiente e preencher as chaves do Supabase e a URL do app, instalar as dependências, buildar e iniciar. As migrações em supabase/migrations são aplicadas com a CLI do Supabase, após o que o app pode ser implantado no Vercel ou em outro host Node. O README observa que um passo a passo completo com variáveis de ambiente e uma ressalva sobre geo/CDN está disponível no guia de auto-hospedagem online.
A stack tecnológica mencionada no README inclui Next.js 16, React 19, TypeScript, Tailwind CSS v4, Supabase para Postgres, Recharts, three-globe para o globo 3D e rrweb para replay de sessão; o rastreador em si é descrito como zero-dependência e construído com tsup.
Comunidade e licença
Issues e pull requests são bem-vindos, com a documentação hospedada no site de docs do próprio projeto. O projeto possui licença MIT, sendo descrito como gratuito para usar e gratuito para auto-hospedar.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.