BotDetect

Extensión de Chrome + PWA que detecta y oculta comentarios de bots y spam en Facebook, Instagram y LinkedIn. Todo el procesamiento ocurre localmente, sin enviar datos a ningún servidor.

JavaScript Manifest V3 Chrome Extension PWA MutationObserver
Screenshot de BotDetect

// detalles del proyecto

Sobre el proyecto

BotDetect nació de un problema concreto: los comentarios de bots y spam saturan las redes sociales y no existe una herramienta accesible para filtrarlos en tiempo real. La solución fue una extensión de Chrome que actúa directamente sobre el DOM mientras navegás, complementada por una PWA para usarla desde el celular sin instalar nada.

Estrategia dual: extensión + PWA

🖥️ Extensión Chrome

  • Funciona automáticamente al navegar
  • Detecta comentarios en tiempo real
  • Popup de control con umbral configurable
  • Manifest V3 + Service Worker

📱 Web App (PWA)

  • Sin instalación — abrís la URL y listo
  • Pegás el texto y analizás al instante
  • Funciona offline con Service Worker
  • Instalable como app en pantalla de inicio

Sistema de detección heurístico

Cada comentario acumula puntos según múltiples señales. Cuando supera el umbral configurable (por defecto 3 puntos), el comentario se oculta automáticamente.

Señal Puntos Ejemplo
Frase spam conocida+2.0"dm me", "earn money fast"
URL externa / acortador+1.5bit.ly/...
Comentario duplicado+3.0Mismo texto en múltiples posts
Comentario muy similar+1.5>60% palabras en común
Comentario genérico corto+1.5"nice!", "wow 😂"
Todo en mayúsculas+1.0"CLICK HERE NOW"
Exceso de signos / emojis+0.5Más de 3 exclamaciones
Emojis de dinero+1.5💰💵💸🤑
Patrones de repetición+1.5"hola hola hola"

Decisiones técnicas

Similitud textual con Jaccard

Para detectar comentarios duplicados o muy similares, se usa el algoritmo Jaccard Similarity comparando los conjuntos de palabras entre comentarios:

similitud = |palabras_comunes| / |palabras_totales_únicas|

> 85% → Duplicado (+3 pts)
> 60% → Muy similar (+1.5 pts)

MutationObserver en lugar de polling

La extensión no escanea la página continuamente. Usa MutationObserver para reaccionar solo cuando se añaden nuevos nodos al DOM — fundamental para redes sociales con scroll infinito y carga dinámica de contenido. Un debounce de 400ms previene escaneos excesivos.

Privacidad por diseño

Todo el procesamiento ocurre en el dispositivo del usuario. No hay telemetría, no se envían datos a servidores externos, no se almacena ningún comentario analizado. La extensión funciona completamente offline una vez instalada.

Manifest V3

La extensión usa la versión más reciente del manifiesto de Chrome, que reemplaza los background pages por Service Workers y restringe las APIs disponibles. Adaptarse a V3 implicó rediseñar la lógica del background y la comunicación entre el content script y el popup.

Estructura del proyecto

BotDetect-extension/
├── manifest.json      ← configuración Manifest V3
├── content.js         ← detección y ocultamiento en el DOM
├── background.js      ← service worker, gestión del badge
├── style.css          ← estilos aislados del content script
└── popup/
    ├── popup.html
    └── popup.js       ← lógica del panel de control