Sobre o projeto

O Counter é apresentado como uma análise web simples para mostrar quantas pessoas visitam uma aplicação web. O projeto oferece counter.dev como serviço hospedado e inclui um exemplo. Seu README descreve a tecnologia como um pequeno servidor Go mais ativos estáticos. Os dados são salvos no Redis, com um banco SQL convencional usado para arquivar dados mais antigos. O objetivo declarado do projeto é atender muitos usuários gratuitamente de forma sustentável. Ele explica os custos reduzidos por coletar apenas dados agregados em vez de atribuir IDs individuais de usuário por meio de cookies ou fingerprinting. Isso reduz o custo das consultas ao banco de dados e a quantidade de dados armazenados. A contagem de usuários únicos é descrita como baseada no sessionStorage, mecanismo de cache do navegador e inspeção do referrer. O README afirma que isso reduz a complexidade e a carga do servidor enquanto melhora a privacidade, ainda que à custa de saber menos sobre os usuários; o projeto afirma que não pode e não deseja conectar visualizações únicas de página à identidade de um usuário. Ele também observa que a infraestrutura foi projetada para alta carga usando um binário Go estático para requisições HTTP e um banco Redis em memória com backups regulares para o disco. O README argumenta que isso é mais econômico do que um banco relacional típico acessado por linguagem de script, e que servidores dedicados ou virtuais podem oferecer mais desempenho pelo mesmo dinheiro do que hospedagem platform-as-a-service, embora isso exija gerenciamento manual. Um problema relacionado é citado como validação do mundo real: atender milhões de visitas únicas por mês consumiu aproximadamente 25% de um pequeno VPS de 5 dólares por mês. Com algumas centenas de usuários ativos, os custos não fixos são descritos como cerca de um centavo por usuário por mês, além do domínio e de um serviço adicional de backup de VPS, com doações cobrindo os custos. Para desenvolvimento local, o README orienta executar make devserver e nota que um servidor Redis é necessário em localhost e na porta padrão. As instruções de auto-hospedagem estão ligadas a um repositório separado counter.dev-selfhost. O blog é baseado em Pelican, com templates em templates/blog, artigos em posts e geração via make blog; ele é autogerado em todo deploy. A FAQ nota incerteza sobre evitar um banner de cookies, citando a Diretiva ePrivacy e uma proposta de novo Regulamento ePrivacy. Os colaboradores listados são Ana Maria Sandoval Jimenez, cientista de dados, e Irae Hueck Costa (ihucos), desenvolvedor backend. O Counter é licenciado sob AGPL e é open source para transparência.