Saltar al contenido
CV
Todos los proyectos

Aplicación web

Cooperadora Escolar

Contabilidad para cooperadoras escolares con carga por IA

Ingresos, egresos y saldos de caja y banco para la comisión de una escuela. Los movimientos se cargan pegando el chat de WhatsApp o sacándole una foto a la factura: Claude extrae monto, categoría y responsable.

Rol
Diseño, desarrollo full stack y auditoría de seguridad
Cliente
Proyecto propio
Año
2026
Estado
Finalizado

El problema

Las cooperadoras llevan las cuentas en un cuaderno o en el grupo de WhatsApp: los gastos se pierden entre mensajes, nadie sabe cuánto hay en caja y rendir cuentas a fin de año es reconstruir todo a mano.

La solución

Una app multi-escuela con saldos calculados en tiempo real y tres formas de cargar: manual, pegando el chat del grupo o con la foto del ticket. La IA propone los movimientos y la persona los revisa antes de guardarlos.

Aspectos técnicos destacados

  • Extracción con Claude (SDK oficial) usando salida estructurada validada con Zod; el contenido del chat se trata como no confiable para evitar inyección de instrucciones.
  • Auditoría y corrección de seguridad: encontré y cerré una escalada a super admin, acceso entre escuelas y lectura de PIN, reproducidos sobre una base local antes de corregirlos.
  • Acceso a datos solo por rutas del servidor con sesión en cookie httpOnly, control de rol, escuela y origen (CSRF), y la base cerrada a la clave pública.
  • PIN con hash bcrypt, bloqueo tras 5 intentos fallidos y exportación CSV protegida contra inyección de fórmulas.
  • 32 tests con Vitest y pruebas de punta a punta con Playwright; migración de Next.js 14 a 16.

Capturas

Hacé clic en una imagen para verla en tamaño completo.

  • Panel con saldos de efectivo y banco, totales y carga manual
    Panel con saldos de efectivo y banco, totales y carga manual
  • Chat de WhatsApp pegado y los tres movimientos que detectó la IA
    Chat de WhatsApp pegado y los tres movimientos que detectó la IA
  • Foto de un ticket y los datos que extrajo la IA
    Foto de un ticket y los datos que extrajo la IA
  • Lista de movimientos con filtros y exportación
    Lista de movimientos con filtros y exportación
  • Ingreso por escuela y usuario con PIN
    Ingreso por escuela y usuario con PIN
  • Vista en celular
    Vista en celular