projeto · 25 de out. de 2026
check.stater
Recebe um link de vídeo de política, acha as afirmações que valem checagem e busca fontes para cada uma. Leva cerca de um minuto e meio e custa uns nove centavos de dólar por vídeo.
- TypeScript
- Node 24
- TypeSafe Jev
- ElevenLabs Scribe
- OpenRouter
- Tavily
- SQLite
- React
- HyperFrames
- ffmpeg
- Astro
- Cloudflare Workers
Um corte de entrevista de quatro minutos chega no WhatsApp com cinco números e duas acusações. Checar isso à mão leva uma tarde. O check.stater faz a parte mecânica: recebe um link do YouTube e devolve cada afirmação checável, quem disse, em que segundo e o que as fontes dizem sobre ela. O veredito continua com uma pessoa.
Rodei em 11 vídeos da campanha presidencial de 2026, somando 69 minutos de fala. Cada análise levou em média 96 segundos e custou US$ 0,095.
Como funciona
Separei três tipos de trabalho desde o começo. Um LLM só escreve: transforma a frase falada numa afirmação que se entende sem o vídeo e monta a busca. O Jev, da TypeSafe, só decide: responde perguntas fechadas com uma probabilidade, em uns 300 ms. O resto é código. Pesos, cortes e contagem de fontes ficam em TypeScript, onde dá pra ler e testar sem chamar modelo nenhum.
carregando o diagrama…
- Entrada. O yt-dlp baixa o áudio, o Scribe v2 da ElevenLabs transcreve separando os falantes e o código corta em frases sem misturar duas pessoas.
- Decisões. O Jev classifica cada frase, descobre quem é entrevistado e quem é entrevistador (fala do entrevistador vale metade) e escolhe no máximo seis afirmações para buscar. Também junta repetições e marca contradições dentro do mesmo vídeo.
- Evidências. Cada afirmação vai ao Google Fact Check e a uma busca restrita a uns 55 domínios públicos. O Jev lê cada trecho e diz se ele confirma ou contradiz.
- Saídas. Do mesmo relatório saem um app de curadoria que roda na minha máquina, um vídeo com cartões renderizado no HyperFrames e uma página pública em check.stater.dev, servida por um Worker da Cloudflare.
O que ainda falta
- Não sei a acurácia de ponta a ponta. A validação usou frases escritas à mão, e falta anotar vídeos reais com o veredito de um curador.
- O Jev lê só o trecho que o buscador devolve, não a página inteira, e às vezes erra por isso.
- Quase todo cartão sai com “confiança baixa”. Se tudo pede revisão, o rótulo não ajuda a priorizar.
Playground
A prioridade de busca de cada frase é a conta abaixo: verificável vezes uma média ponderada de interesse e exagero, vezes o peso de quem falou. Mexa nas entradas para ver o que passa.
Vale gastar uma busca?
Escolha um exemplo ou mexa nas respostas do Jev.
"A Justiça do Trabalho custa 24 bilhões por ano."
- interesse
- exagero
- corte 0,4
0.93 × (0,6 × 3/3 + 0,4 × 2/3) × 1 = 0.81
pesquisar, se couber nas 6 buscas
E é assim que as posições das fontes viram um indício. O botão “o que aconteceu” reproduz um erro real do sistema.
Cinco fontes, um indício
Clique na posição para trocar. Arraste a relevância.
Afirmação: "A lei exige que um partido tenha cinco parlamentares para ir ao debate."
- planalto.gov.brfonte oficialusada
- aosfatos.orgchecagemusada
- poder360.com.brimprensausada
- folha.uol.com.brimprensadescartada
- g1.globo.comimprensadescartada