¿Qué construí?

FaroVE es un sistema offline-first de registro y seguimiento de niños/as rescatados tras el sismo en Venezuela, con protección contra tráfico infantil.

¿Para quién es?

  • Rescatistas y voluntarios que encuentran niños/as solos en zonas afectadas
  • Familias que buscan a sus hijos/as desaparecidos
  • Coordinadores en refugios y hospitales que gestionan casos y aprueban traslados

¿Cómo ayuda?

  • Funciona 100% sin internet — datos guardados localmente, sincroniza cuando vuelve la conexión
  • Genera un ID único + ficha imprimible para brazalete en 60 segundos
  • Feed público donde familias y voluntarios publican búsquedas y niños/as encontrados
  • Sistema de detección de tráfico infantil — detecta señales de alerta automáticamente
  • Registro de reclamantes con cédula antes de cualquier entrega
  • Aprobación múltiple de coordinadores para aprobar traslados
  • Todos los datos cifrados en el dispositivo — si roban el teléfono, los datos son ilegibles
  • Integración con datos de venezuelatebusca.com (en progreso)

¿Qué probar primero?

  1. Abre faro-ve.vercel.app
  2. Toca "Ver publicaciones" — feed público, sin login
  3. Toca "Busco a mi hijo/a" — ingresa datos y busca
  4. Toca "Soy rescatista" — registra un niño/a de prueba con PIN: usa el PIN de rescatista

Stack técnico

  • Next.js 15 + Tailwind + TypeScript
  • PWA offline-first con service worker
  • IndexedDB (Dexie.js) para datos locales
  • Supabase para feed compartido
  • Cifrado AES en dispositivo
  • Vercel deploy

Construido en una noche para Build4Venezuela 🇻🇪

Cada niño/a merece ser encontrado/a.

Comentarios

Feedback del proyecto

1 comentario

Inicia sesión para dejar feedback y votar comentarios.

C

Cris

2026-06-29

Gran concepto y ejecución rápida 🙌 Áreas clave para fortalecerlo antes de uso real: - Los PINs de rescatista y coordinador están expuestos en el bundle JavaScript del cliente — cualquier usuario con DevTools puede verlos y saltarse los roles. Moverlos a variables de entorno solo del servidor y validar en API Routes. - El cifrado AES es inefectivo porque la clave se deriva del mismo PIN expuesto en el bundle; requiere implementar cifrado con claves generadas en el servidor. - Los registros de niños viven solo en el IndexedDB del dispositivo — un equipo en múltiples refugios no puede compartir datos. Migrar al backend (Supabase con auth server-side) es esencial para operaciones reales. - Las políticas RLS de Supabase permiten inserción pública sin restricciones de propiedad; agregar reglas de ownership para proteger la integridad de los datos. - Faltan tests automatizados, CI/CD y video demo — sumar capturas de pantalla y un video corto mejoraría mucho la difusión.