Photo by Philippe Yuan / Unsplash

Hackativismo nas eleições de 2022

open source 29 de Jan de 2026

Dentre os meus feitos e projetos usando tecnologia, existem alguns dos quais me orgulho muito. Se desde a adolescência, eu buscava formas de melhorar cidades e instituições, da maneira mais barata possível (ou até mesmo gratuitamente), 2021 e 2022 trouxeram a coroação com um projeto simples, mas não de pouca importância.

Estou falando do perfil "Contador Queda", um bot para o Twitter (ainda não havia mudado de nome) com uma única finalidade: contar qual era o tempo restante do governo Bolsonaro. E não, eu não sou petista. Deixe-me dar um pouco de contexto.

GitHub - carvalholeo/contagem-regressiva
Contribute to carvalholeo/contagem-regressiva development by creating an account on GitHub.

A experiência com bots

Anteriormente, aqui mesmo no blog, falei como foi a experiência de criar um bot para o Twitter, focado na experiência cristã, numa tentativa de respostar conteúdos com determinadas palavras-chave ou hashtags, com o intuito de conectar a comunidade cristã protestante ao redor do tema comum naquela semana: os 504 anos da reforma protestante.

Naquele momento, era usada a endpoint de stream da API do Twitter, tentando capturar os posts mais recentes com a configuração explicada no parágrafo anterior. Ao receber novo stream, o bot se encarregava de verificar:

  • Se havia alguma palavra-chave ou hashtag bloqueadas
  • Se o conteúdo era novo, de acordo com a base de dados
  • Se a pessoa que fez a postagem não havia solicitado para o bot não fazer reposts de seu usuário

Feitas as verificações, e estando de acordo com os padrões estabelecidos, o post era republicado na conta do bot, usando a mesma API do Twitter.

Até aqui, nada de surpreendente ou realmente novo. E sendo sincero (e com experiência de programação que eu tenho hoje), acho que havia alguns esquemas de segurança e performance que poderiam ser melhorados (e muito) naquele projeto. Porém, a arquitetura básica do programa não é realmente supresa: entrada, transformação e saída, usando APIs e conexões ativas entre sistemas.

A ideia do Contador Queda

Enquanto escrevo esse texto, tento me lembrar quando realmente surgiu a ideia do bot, mas não recordo. Provavelmente foi querendo dar uma resposta ao assédio judicial contra a pessoa que colocou um outdoor chamando Bolsonaro de Pequi roído.

A ideia de hackativismo social como ferramenta de transformação da realidade, que cria pressão pela própria sociedade e fomenta políticas públicas que geram mudanças na vida real, sempre me chamou atenção.

E na sociedade dos memes, em que tudo pode ser transformado em brincadeiras e piadas, juntamente com a vontade de experimentar algo novo e que pudesse me trazer mais experiência com código de produção (eu ainda não trabalhava como dev, e sim como professor), me trouxe esse insight.

Antes mesmo da eleição presidencial de 2018, a figura do ex-presidente me era execrável. Não conseguia (e de fato, ainda não consigo) compreender como as pessoas poderiam achar todo aquele discurso como algo digno de atenção.

No começo da pandemia de Covid-19, minha mãe (uma mulher diabética) contraiu o vírus durante um cruzeiro, no último navio que saiu de Santos naquele ano (todos os portos foram fechados entre o momento que ela embarcou e o início da viagem).

Por que estou dizendo isso? Porque foi extremamente sofrido vê-la sentir o cansaço, a perda do olfato e paladar e a preocupação de precisar ir pro hospital caso a situação ficasse pior. E foi ainda mais violento ouvir o então presidente da República dizer que era "mi mi mi", "não sou coveiro", "vai ter gente morta, mas não me importo".

Longe de querer fazer política partidária, aquelas falas me tornaram tão radicalmente contra o ex-presidente, que eu só pensava em como ajudar a removê-lo de seu cargo na eleição de 2022.

Sabendo desse contexto, e querendo que qualquer pessoa (ou mesmo um animal de estimação) pudesse ser eleito no lugar de Bolsonaro, comecei a pensar em como fazer esse bot.

A ideia seria muito simples: de tempos em tempos, o sistema buscar uma gíria negativa para representar, informando quanto tempo faltava para sua queda e o fim do seu governo. Isso estaria em uma imagem, além do texto propriamente dito.

E assim começou, em janeiro de 2022, um dos projetos mais intensos que eu tinha feito até então.

Feito é melhor do que perfeito

Quando o projeto foi ao ar, na primeira noite foi integralmente executado a partir da minha máquina. Aqui, era só texto.

Todos os adjetivos ficavam num grande JSON, em um array.

Logo, isso criou uma necessidade: evitar a repetição das palavras, até que a lista original de adjetivos fosse totalmente usada.

Cada novo apelido era adicionado manualmente, via commit, à lista já existente. Isso me obrigava a entrar no servidor e fazer um novo deploy.

Depois de alguns dias, o diabo veio me atentar e disse "por que não colocar imagens com essa frase? Vai dar certo, as pessoas podem querer compartilhar e tirar sarro do presidente". E eu dei ouvidos.

O projeto começou a gerar imagens e enviar pro Twitter, junto com o texto original.

Cada nova alteração, trazia melhorias que somente um software que vai pro campo de batalha poderia experimentar. Correção de bugs e erros ortográficos, que não eram possíveis de ver (e me perdoem, mas eu não tinha muito tempo e nem experiência pra criar testes automatizados).

A próxima melhoria foi começar a usar um banco de dados pra criar mais adjetivos de forma mais rápida, sem precisar de redeploy. Feito.

Precisava de melhoria no agendamento da periodicidade do bot. Feito, usando GitHub Actions pra executar o bot, enquanto que o banco de dados efetivamente ficava no meu servidor.

A cada 10 minutos, um post novo. Depois, foi ficando aleatório (entre 10 e 60 minutos).

Chegamos ao período eleitoral. Adicionei uma nova frase, relativa ao primeiro turno.

Então, veio uma das funções mais divertidas que eu criei, o modo ataque. A ideia era simples: durante os debates eleitorais, aumentar a frequência das postagens e marcar pessoas influentes no governo ou pessoas da família, sempre uma diferente, a cada nova postagem. E por óbvio, o Twitter me deu aviso de punição.

Fiz isso pro primeiro debate e depois pro último do primeiro turno.

Depois da derrota no segundo turno, adicionei alguma frase indicando quanto tempo faltava para a posse do novo governo.

Após o fim do governo, coloquei o bot pra contar quanto tempo a sociedade estava esperando pela prisão e pelo fim dos sigilos.

Em abril/2023, a chave de API foi revogada pelo Twitter, na esteira do anúncio que o acesso programático passaria a ser cobrado (e sendo conspiracionista, também por influência de alguém influente, que não gostou de ver o conteúdo do bot e sua forma automatizada de reclamar do governo e torcer pelo seu fim).

Por que só falar disso agora?

Simples: não sou herdeiro. Eu tinha contas e boletos pra pagar, embora morasse ainda com minha mãe.

Não seria fácil encontrar um emprego, CLT ou PJ, caso descobrissem que eu tinha sido o desenvolvedor e mantenedor de um bot político. Isso é especialmente sensível na área de TI do mercado privado, em que as pessoas são, em grande parte, apoiadoras do ex-presidente.

E também porque fui fazer uma limpa nos meus repositórios do GitHub e encontrei esse código lá.

Como hoje sou concursado, não sinto mais medo de falar abertamente sobre isso.

Agora, como ando muito cansado, quem quiser continuar o projeto, fique a vontade. Deve existir uma centena de coisas pra corrigir e melhorar, além, é claro de conseguir acesso à API do X (sério, que nome horrível pra uma rede social).

Deixe nos comentários o que achou de toda essa história e se você também já participou de algum projeto hackativista.

Tags

Léo Carvalho

Léo Carvalho é desenvolvedor back-end Java no Banco do Brasil, professor de programação e falador de abobrinha. Anglicano, tem 30 anos, é pós-graduando em Ciência de dados e IA pelo Senac/DF.