↑↓ selecionar · ENTER ir · ESC fechar

AutomaçãoIntegrações

Tech Radar: extraindo sinal do feed de uma comunidade de desenvolvedores

Do que se tratava
Meu próprio serviço: coleta mensagens de uma comunidade profissional, filtra o ruído com regras explicáveis e monta um resumo. Roda no meu servidor.
Meu papel
Definição do problema, arquitetura, desenvolvimento, operação — sozinho
Período
2026, em andamento
Resultado
7.627 mensagens de 581 autores arquivadas; o serviço roda sem supervisão.

Contexto e problema original

Uma comunidade de desenvolvedores que discute novas bibliotecas, ferramentas e preços de APIs. O valor é real, mas está espalhado por centenas de mensagens por dia, e ler tudo manualmente não é uma opção.

Tarefa de negócio

Não perder nada útil sem precisar ler tudo. Receber um resumo diário curto em vez de um feed e conseguir explicar por que uma mensagem foi selecionada.

Restrições e incógnitas

  • Um servidor, 2 CPU / 4 GB, sem GPU
  • As mensagens são de terceiros: o arquivo coletado fica privado, e só aparecem links e trechos
  • Precisa rodar sem supervisão — estou ocupado com outros trabalhos
  • Nenhuma API paga

Minha responsabilidade

Tudo: coleta via Telethon, esquema do banco de dados, regras de seleção, resumo, a unidade do systemd, testes e operação.

Decisões-chave e trade-offs

  • O arquivo de dados brutos é intocável: o processamento nunca apaga nada de items, e cada veredito derivado fica separado em item_analysis. As regras podem ser reescritas e reaplicadas a todo o histórico.
  • Primeiro regras determinísticas, só depois um LLM. As regras são baratas, reproduzíveis e se explicam com uma lista de motivos; um modelo em dois núcleos sem GPU é lento e não consegue se explicar.
  • O LLM fica atrás de uma interface ItemAnalyzer, e não dentro do código de processamento. Adicionar um modelo local significa mais uma implementação do mesmo protocolo, não uma reescrita.
  • Coleta incremental por cursor: um reinício não relê o histórico.
  • Observabilidade desde o primeiro dia — cada execução do coletor é registrada com seu status, inclusive em caso de encerramento anormal.

O que mudou

  • 7.627 mensagens de 581 autores coletadas entre março e agosto de 2026
  • Deduplicação por texto normalizado e por links canonicalizados, com remoção dos parâmetros de rastreamento
  • O resumo informa uma pontuação, uma categoria e a lista de motivos pelos quais a mensagem foi selecionada
  • O serviço roda sob o systemd e sobrevive a uma reinicialização do servidor sem nenhuma intervenção manual
  • 1.148 linhas de código próprio, quatro dependências externas, três suítes de testes

Limites de divulgação e de resultado

Próximo passo para uma tarefa parecida

Uma tarefa semelhante: extrair sinal de um fluxo de mensagens, e-mails ou solicitações recebidas. Começaríamos definindo o que conta como sinal.

Entrar em contato

Tem um projeto para discutir?

Comece pelo ScopeMap ou descreva o que acontece hoje e o que deveria acontecer. Vou sugerir um primeiro passo seguro.