Jair Zuñiga
full-stack · Flutter · Laravel · Vue · Node.js
Construyo, instalo y mantengo sistemas de software de producción — del Back-end al Front-end. Más de cuatro años entregando aplicaciones móviles, plataformas web y APIs para gobierno, salud y clientes privados.
Proyectos destacados
Pro Events 360
SaaS completo para operar cabinas de video 360° en eventos. Grabación con filtros cinematográficos y cámara lenta, y entrega instantánea del video al invitado por QR. Incluye monetizació…
Travel — Agencia de viajes
Plataforma completa para una agencia de viajes: sitio público con catálogo, SEO y captación de prospectos, más un panel administrativo que opera todo el negocio.
BlinkFin
Plataforma de finanzas personales y patrimonio construida sobre dos ideas: registrar un gasto en menos de tres segundos, y decidir con datos.
Pulso Victoria
Plataforma de gobernanza urbana y analítica predictiva GIS para Ciudad Victoria, Tamaulipas. Conecta tres frentes en un solo sistema.
Click & Eat
Plataforma de cafetería escolar para el Colegio Nuevo Santander, diseñada para el momento crítico: el receso, con más de cien usuarios concurrentes, captura en segundos y cero tolerancia a …
Pro Events Fotos
Fotografía social para eventos en vivo: bodas, XV años, cumpleaños y corporativos. El invitado escanea el QR de la mesa y sube o toma fotos sin crear cuenta ni instalar nada. Puede reacc…
Skills & Tecnologías

Spec-Driven Development + IA
Especificación como contrato
Cada módulo nace como un spec versionado en git: requisitos, modelo de datos y criterios de aceptación antes de la primera línea de código.
specs/*.md en el repoGeneración asistida por IA
La IA implementa contra el spec bajo supervisión senior: cada diff se revisa línea por línea antes de integrarse al proyecto.
humano siempre en el loopCódigo de producción
SOLID, validación estricta y seguridad por defecto: sin mass assignment, sin XSS, sin credenciales en el repositorio.
clean code + seguridadVerificación real
Smoke tests sobre base de datos real, linting, auditoría de seguridad y criterios de aceptación comprobados antes de cada despliegue.
cero fallos en producción## Requerimiento Transición de estado validada: new → read → replied → archived ## Criterio de aceptación ✓ Transición inválida responde 422 ✓ read_at se estampa la 1ª vez
// implementado y verificado contra el spec + if (! $contact->canTransitionTo($target)) { + return response()->json([...], 422); + } + $contact->read_at ??= now();