Experiencia profesional
Experiencia
Mi rol y lo que entregué en ACP, en clave de puesto y logros. El detalle técnico completo (problema, arquitectura, seguridad) vive en el case study.
- en producción
Desarrollador Full-Stack
Autocamiones del Pacífico (ACP)
Desarrollador único · Jalisco, México (remoto) · Diciembre 2025 - Actualidad
Desarrollador único de ACP, la plataforma de boletaje y paquetería que reemplazó la operación totalmente manual de una empresa de transporte foráneo de pasajeros, hoy en producción en Oracle Cloud.
- Me hice cargo de todo el ciclo, yo solo: requisitos, arquitectura, código, infraestructura en la nube, despliegue y documentación, sustituyendo una operación de papel por un sistema en producción.
- Construí el backend en Go: dos APIs REST (pública e interna con control de acceso por roles), venta transaccional de asientos y auditoría completa de cada cambio administrativo sobre PostgreSQL, con consultas tipadas (sqlc) y migraciones versionadas.
- Implementé la autenticación desde cero: JWT (RS256), 2FA TOTP obligatoria (RFC 6238) y refresh tokens rotados con revocación real de sesiones.
- Entregué 6 interfaces: panel administrativo en React, sitio público en Next.js y 4 apps Flutter offline-first (taquilla, chofer, paquetería y cliente) que comparten paquetes propios de design system, cliente de API e impresión.
- Diseñé la operación offline-first para el personal en campo: colas cifradas (AES-256-GCM), folios generados en el dispositivo, validación QR sin conexión y evidencia de entrega con foto y firma que sincroniza al recuperar señal.
- Integré pagos con Stripe, Mercado Pago y PayPal, confirmados únicamente por webhook verificado y con expiración automática de órdenes no pagadas.
- Aprovisioné y opero la producción en Oracle Cloud (4 VMs con balanceador, PostgreSQL primario y réplica) con Terraform y Ansible, y monté el CI/CD en GitHub Actions con escaneo de vulnerabilidades como gate obligatorio.
- Aseguré la calidad con más de 150 pruebas automatizadas, E2E de API y de interfaz (Playwright), línea base de carga con k6 (API pública p95 < 100 ms) y anonimización de datos personales conforme a la LFPDPPP.