← Volver al blog
ingenieria·6 min

Cómo validamos reportes sin volvernos Twitter

Ingeniería

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%.