Trabajo / ERP
NEXO
Un solo ERP donde antes había nueve apps separadas. Una distribuidora de alimentos en Lima lleva ahí sus ventas, stock, finanzas, RR.HH., producción y repartos.
Una pantalla reconstruida con datos de ejemplo. Las reales tienen los números de un cliente. Estoy preparando una demo que puedes recorrer, con una empresa inventada.
El problema
Cada área tenía su propia herramienta. Lo sé porque casi todas las hice yo: un panel para el chatbot, una herramienta para filtrar postulantes, una agenda personal, una app de actas de reunión, una app de asistencia, una app de reparto, una app de stock, un catálogo de productos y un panel de ingreso que las unía.
Cada una resolvía un problema real. Cada una tenía también su propio login, su propia lista de usuarios y su propia idea de qué es un cliente. Las ventas y el stock estaban en un ERP antiguo que nadie podía ampliar. Cuando alguien pasaba del almacén a ventas, yo le cambiaba los permisos en cada app por separado.
Lo que construí
Un login, un sistema de permisos, una base de datos. No reescribí todo de una vez. Primero salieron la estructura y el espacio personal, en junio de 2026. Después las apps antiguas entraron una por una, como módulos, mientras la gente seguía trabajando.
Los clientes y el historial de ventas llegaron del ERP antiguo por importación. Los permisos se definen por rol y por pantalla, y los maneja el administrador de la propia empresa. A mí no me escriben cuando alguien cambia de puesto.
Hay un ambiente de pruebas que se actualiza desde producción todas las noches. Nada llega a producción sin una vuelta completa en pruebas, hecha por mí, en las mismas pantallas que usa el personal.
Cómo encaja todo
- PersonasPersonal de oficina en el navegador, Choferes en una PWA sin conexión, Vendedores de campo en Android
- EntradaCaddy, TLS, un solo ingreso para todos los módulos
- AplicaciónNext.js, 594 rutas de API, permisos por rol y por pantalla
- DatosPostgres, Supabase en servidor propio, 226 migraciones, respaldo cada noche
- Alrededorn8n para los canales de chat y los avisos, ambiente de pruebas actualizado cada noche
Un solo VPS. La opción aburrida, a propósito: un solo lugar que respaldar, un solo lugar donde mirar cuando algo va lento.
Qué resultó
| Apps separadas unidas en una | 9 | medido, plan del proyecto |
|---|---|---|
| Páginas | 320 | medido, nov. 2026 |
| Rutas de API | 594 | medido, nov. 2026 |
| Migraciones de base de datos | 226 | medido, nov. 2026 |
| Commits en el repositorio | 1,338 | medido, nov. 2026 |
| Líneas de TypeScript | unas 310,000 | medido, nov. 2026 |
| Clientes en el CRM después de importar | 1,563 | medido, junio 2026 |
| Personas en el reloj de asistencia | 75 | medido, set. 2026 |
| Marcaciones al día sin papel ni hojas de cálculo | unas 300 | estimado, 75 personas, 4 momentos al día |