O padrão da indústria para moderar conteúdo gerado por usuário é reativo: publica primeiro, denuncia depois, remove se alguém reclamar. Funciona em escala, e falha exatamente nas primeiras horas — que são as horas em que o conteúdo circula.

No EuRi invertemos isso.

Como funciona

Quando alguém cria um post, uma Cloud Function chama o Gemini com o conteúdo. O post só vai ao ar se passar. Não existe janela entre publicar e moderar, porque não existe publicação antes da moderação.

usuário cria post
   -> Cloud Function
   -> Gemini analisa
   -> passou?  sim -> vai ao ar
               não -> não vai

A ideia é atacar o problema na origem, em vez de depender de denúncia depois do dano feito.

O que custou mais caro do que esperávamos

Latência. Chamar um modelo no caminho crítico da publicação não é de graça. O usuário sente. Foi preciso trabalhar a percepção de espera na interface para que não parecesse que o app travou.

Falso positivo. As primeiras versões do prompt bloqueavam humor legítimo com uma frequência inaceitável. Meme é ambíguo por natureza — ironia, sarcasmo e autodepreciação parecem agressão para um classificador ingênuo. Foram várias rodadas de ajuste até chegar num ponto em que o filtro pega o que precisa pegar sem estragar a piada.

A lição: moderação por IA não é um interruptor. É um parâmetro que você calibra contra o seu conteúdo, e o custo de errar para o lado restritivo é perder o produto.

O que ficou

Um feed onde o conteúdo que chega já passou por um filtro, e onde o problema não é resolvido pedindo para a vítima denunciar.

Se você já construiu moderação pré-publicação com modelo de linguagem, o que mais gostaríamos de saber é onde a sua erra.