Cómo validamos reportes sin volvernos Twitter
El mayor reto de una app de reportes comunitarios no es construirla, es evitar que se llene de basura. Acá explicamos los tres mecanismos que combinamos.
1. Peso del votante
Cada usuario tiene un score de reputación entre 0.1 y 5.0. Empieza en 1.0 y se ajusta de manera asimétrica: +0.05 cuando un reporte tuyo se confirma, −0.10 cuando se refuta. Premiamos veracidad y castigamos troleo el doble.
2. Peso espacial
Un voto cerca del evento vale más que uno lejos. < 200 m = peso 1.0, < 500 m = 0.7, > 500 m = 0.4. Esto evita que alguien validando "Inundación en Patio Bonito" desde Chapinero distorsione el score.
3. Visión por computadora
Cuando el reporte trae foto, después de responder al cliente disparamos `/api/ai/report-classify` con Claude Sonnet 4.6. El modelo decide si la imagen efectivamente corresponde al tipo declarado. Si no coincide con > 70% de confianza, lo marcamos para revisión.
No buscamos reemplazar el juicio humano — lo enriquecemos con cuatro fuentes independientes que deben coincidir.
Resultado
En beta, el 91% de los reportes con > 2 confirmaciones son verdaderos positivos según auditorías manuales. Sin estos pesos, el número era 64%.