O ponto de ruptura

Estava no Twitter (agora X) há quase uma década. Costumava ser útil — um feed curado das pessoas que eu seguia, em ordem cronológica. Abria por dez minutos, me atualizava e fechava.

Em algum momento de 2024 isso deixou de ser verdade. A aba Para você virou padrão. Posts patrocinados se multiplicaram. Isca de engajamento virou o estilo dominante. Eu abria o X para ver três amigos e fechava 40 minutos depois sem ler nada que vim ver.

Tentei o óbvio — mudar para a aba Seguindo, silenciar palavras, criar listas. Cada coisa ajudou um pouco. Mas o algoritmo Para você se resetava sozinho, a barra lateral direita continuava mostrando tendências irrelevantes e anúncios apareciam mesmo assim. Não havia um único lugar para desligar o ruído.

A primeira versão: 200 linhas de JavaScript

Escrevi uma pequena extensão Chrome num fim de semana. Fazia três coisas:

  1. Escondia posts marcados como "Promoted"
  2. Escondia a barra lateral direita
  3. Forçava a timeline para "Seguindo"

Era isso. ~200 linhas, sem interface, só ativável pelo ícone da extensão. Compartilhei o código com amigos que também viviam no X. Começaram a pedir funções.

"Pode silenciar contas sem deixar de segui-las?" Claro.

"Pode filtrar por palavra-chave?" Sim.

"Pode resumir threads longas com IA?" Hmm. Isso é uma função de verdade.

De script a produto

O pedido do resumo com IA foi o momento em que deixou de ser script de hobby. Para fazer IA direito eu precisava de:

Nada disso estava no plano original de "extensão de fim de semana". Mas pensei: se vou construir tudo isso para uma função, melhor fazer direito e o resto da extensão usar também — sincronizar filtros entre dispositivos, guardar preferências na nuvem, etc.

O projeto de hobby virou um SaaS completo. Olhando para trás: provavelmente exagero para a v1. Mas as partes que mantive (auth, sync, pagamentos) deixam o produto genuinamente melhor, não me arrependo.

A stack técnica

Para quem quiser construir um SaaS pequeno parecido, o que funcionou:

Custo mensal total: menos de 10$. A extensão está na Chrome Web Store (5$ uma vez pela conta de desenvolvedor).

O que me surpreendeu

Auth é mais difícil do que parece. E-mail + senha com verificação, reset, sessões, JWT, limite no login — é uma lista longa. Não teria feito do zero se soubesse o trabalho envolvido. Use uma biblioteca ou serviço se puder.

Stripe é mais fácil do que parece. Dois endpoints tRPC (checkout + customer portal), um webhook, pronto. A parte difícil é verificar sua conta bancária, não a integração.

A revisão da Chrome Web Store é imprevisível. Meu primeiro envio foi rejeitado por uma permissão não usada. O segundo foi aprovado em dias. Cada atualização passa por revisão de novo — esteja pronto para esperar 1-7 dias.

O que vem

A extensão está no ar, o site em pé, pagamentos funcionam fim a fim. Os próximos ~3 meses são sobre distribuição: posts de blog (você está lendo um), lançamento no Product Hunt, Reddit, IndieHackers.

Se você tem um feed do X / Twitter que te incomoda, eu adoraria que testasse. O plano grátis cobre o que a maioria precisa. E se tiver feedback, meu e-mail está no rodapé — leio tudo.