Ir al contenido

Nicolás Raffagnini

Nicolás Raffagnini

Desarrollador Full Stack · Backend & DevOps

Rosario, Santa Fe, ArgentinaAbierto a propuestas · remoto o Rosario

Me hago cargo del producto de punta a punta: relevamiento con el cliente, modelado de datos, backend, frontend, infraestructura y soporte en producción. Hoy sostengo un ERP en producción y un sistema multiagente de IA que ya genera ventas reales.

Stack

Tecnologías con uso profesional en producción, defendibles en una entrevista técnica.

Backend

  • Node.js 22 (ESM)
  • TypeScript
  • JavaScript
  • Express
  • APIs REST
  • Socket.IO
  • node-cron
  • Joi
  • Winston

Datos

  • MySQL / MariaDB
  • MongoDB
  • Redis
  • Sequelize
  • Mongoose
  • Modelado ER
  • Transacciones y bloqueo de fila

Frontend

  • React 18
  • Vite
  • React Router
  • Zustand
  • Tailwind CSS
  • Material UI
  • Radix UI
  • Recharts

Seguridad

  • RBAC con catálogo declarativo
  • JWT en cookie httpOnly
  • CSRF por doble submit
  • Helmet
  • CORS con lista blanca
  • Rate limiting

Testing

  • Mocha
  • Chai
  • Sinon
  • Supertest
  • Postman

Infraestructura

  • Linux
  • Nginx
  • Docker
  • Docker Compose
  • GitHub Actions
  • GHCR
  • Google Cloud (Cloud Run)
  • Vercel
  • Render
  • rclone + systemd

IA

  • Sistemas multiagente
  • API de Gemini
  • Embeddings y similitud coseno
  • Claude Code

Proceso

  • SCRUM
  • Trello
  • Code review por PR
  • Convención de ramas y commits
  • Migraciones versionadas

Conocimiento sin proyecto en producción

  • PostgreSQL
  • Python

Experiencia

2025 — hoy
NBG

Nutriblend Group S.A.S. · WinWar

Desarrollador Full Stack · Backend · Frontend · DevOps

Dos líneas de trabajo en paralelo: el ERP de la empresa y el sistema multiagente de ventas. Docker en el día a día: entorno local en contenedores, build de la imagen en el pipeline y despliegue contenerizado en servidor propio.

Sistema multiagente de ventas automatizadas

+30% en ventas minoristas

Varios agentes coordinados entre sí automatizan el ciclo de venta minorista. TypeScript, API de Gemini para el razonamiento de los agentes, Redis para estado y colas, MySQL para persistencia.

  • TypeScript
  • API de Gemini
  • Redis
  • MySQL
  • Docker
Detalle técnico
  • Un seller-agent calcula con Gemini los embeddings de 768 dimensiones de cada producto; el ERP los usa para su búsqueda semántica. Es el punto de contacto entre los dos sistemas.
  • Redis sostiene el estado de cada conversación y las colas entre agentes.
  • El resultado se mide sobre la estadística de ventas de los últimos 3 meses. No es un demo: está en producción.
  • Claude como asistente durante el desarrollo: prompts, refactors y documentación técnica.

WWSystem · ERP a medida para la industria de suplementos nutricionales

Referente técnico, equipo de 3

ERP full-stack y multi-rol que cubre la operación completa, de la compra de materia prima al cobro de la factura. En producción, con 7 usuarios diarios de ventas, planta, back office y dirección. Primera versión en menos de 6 meses; ~1.065 commits propios sobre ~2.500 (~42%).

  • Node.js 22
  • Express 4
  • Sequelize
  • MySQL / MariaDB
  • React 18
  • Vite
  • Tailwind CSS
  • Socket.IO
  • Docker
  • GitHub Actions
  • Nginx
Detalle técnico
  • Sistema RBAC completo: catálogo declarativo de permisos <recurso>.<acción>.<scope> como fuente única para el código y para el seed de migraciones, 7 roles, scopes de datos (own vs all) aplicados en los servicios, resolución por SQL con caché en memoria (invalidación explícita + TTL de 5 minutos) y un middleware genérico requirePermission(). El administrador no tiene bypass en código: recibe el comodín desde la base.
  • Órdenes de compra de punta a punta: borrador → cotizada → emitida → facturada → recibida → conciliada, con ledger append-only de eventos, anulación por storno (nunca borrado), bandeja de diferencias de cantidad y un circuito de inconsistencias que separa tres permisos para tres responsables. Integrado transaccionalmente con stock, egresos y Libro de IVA.
  • Circuito administrativo-contable: plan de cuentas jerárquico, egresos con dos ejes de estado (pago y documento), vencimientos y pagos parciales, egresos recurrentes por cron y cuenta corriente de proveedores.
  • Libro de IVA y motor de desglose fiscal: base imponible despejada desde el importe total, con neto por diferencia para que la suma cierre exacta contra el total facturado.
  • Cartera de valores financieros (cheques y e-cheques) como módulo transversal entre cobranzas y pagos: el mismo instrumento entra por un cobro y sale por un pago, con transiciones auditadas.
  • Auditoría append-only con snapshot antes/después de ~20 entidades, delimitada frente a los ledgers de stock para no duplicar registro.
  • Búsqueda semántica de productos con embeddings de 768 dimensiones y similitud coseno en memoria, con caché precalentado al arrancar; precio y stock nunca se embeben, se leen en vivo.
  • Refactor arquitectónico del backend de estructura horizontal a features verticales autocontenidas —monolito modular de 33 módulos— con reglas de dependencia explícitas y ciclos resueltos por lazy loading.
  • Transacciones con SELECT ... FOR UPDATE en toda operación que mueve stock o dinero, con una única compuerta que impide saldos negativos.
  • Infraestructura: Docker multi-stage y Compose, GitHub Actions que publica imágenes en GHCR y despliega con runner self-hosted, dos entornos aislados (producción y testing) detrás de un gateway NGINX que termina TLS, backup diario a Google Drive con rclone + systemd y retención GFS (7 diarios / 4 semanales / 12 mensuales) con verificación de integridad del dump.
  • Escala del sistema: ~158.000 líneas de código, 3 repositorios, 58 tablas, 221 migraciones versionadas, ~287 endpoints REST y ~1.059 tests automatizados.
2024 — 2025
WOTECH

WOTECH

Líder Técnico y Desarrollador Full Stack

Lideré un equipo de 3 desarrolladores durante 12 meses, bajo SCRUM, en ~24 sprints de dos semanas. Sistema de gestión integral para una carpintería: 8 módulos entregados y 6 meses más de mantenimiento y administración del servidor.

  • Node.js
  • Express
  • MySQL
  • Sequelize
  • React
  • Tailwind CSS
  • Vercel
  • Render
Detalle técnico
  • Integré al cliente al proceso ágil: demo por sprint, validación continua y backlog ajustado a lo crítico del negocio. Era parte del ciclo, no el receptor del final.
  • Módulos entregados: materia prima, proveedores, planos de muebles, y estimación de costos y tiempos, entre otros.
  • Un año completo conduciendo el equipo y la relación con el cliente, no un sprint.
2023 — 2024
NO COUNTRY

No Country

Desarrollador Backend y líder de equipo · práctica profesional

Práctica profesional de 10 meses en simulación laboral. Coordiné el equipo de backend —3 desarrolladores— dentro de un equipo multidisciplinario de 9 personas: 3 backend, 2 frontend, 2 diseñadores y 2 QA.

  • Node.js
  • Express
  • MongoDB
  • Mongoose
  • Socket.io
  • Postman
Detalle técnico
  • Desarrollé el algoritmo de scoring y matching, la funcionalidad central del MVP.
  • Implementé los servicios con Node.js, Express, MongoDB, Mongoose y Socket.io; endpoints documentados y probados con Postman.
  • Certificado de participación por la contribución técnica.

Decisiones técnicas

Tres problemas reales y qué hice con ellos.

Formación

2023 – 2025

Técnico Superior en Desarrollo de Software

Terciario J. J. de Urquiza, Rosario

2025 – 2026

Generative AI Software Engineering Specialization

Coursera

2025 – 2026

Desarrollo de sistemas de IA agéntica

Microsoft

2022

Desarrollo Backend Node.js · Desarrollo Frontend React

Coderhouse

Idiomas

  • Español — nativo
  • Inglés — B1. Leo documentación técnica y escribo en inglés; conversación fluida, todavía no.