En producción · pendiente rollout al equipo 2025 · PWA multi-tenant

MiAuto Agenda

Agenda inteligente con buffers por zona para la red de ejecutivos de crédito de MiAuto Santander.

Año
2025
Duración
Construcción incremental + en producción
Rol
Ejecutivo de crédito · Diseño · Backend · Frontend · Deploy
Cliente
MiAuto Santander · red nacional
Tipo
PWA multi-tenant (agente + supervisor)
agenda.idevor.com/alvarosalazar
Panel de agenda MiAuto
TL;DR

Soy ejecutivo de crédito en MiAuto Santander: recibo solicitudes de vendedores y coordino la firma de cada operación. La coordinación vivía en idas y vueltas de WhatsApp y dejaba huecos muertos en mi agenda. Construí una agenda self-service con buffers de viaje variables por zona — los vendedores ven solo horarios viables y reservan en un click. Cuando mi supervisor mostró interés en la herramienta, me adelanté a la pregunta obvia: qué necesitaría alguien que coordina la red entera. Así diseñé el segundo nivel — multi-usuario con calendarios independientes, panel de supervisor con mapa de ocupación nacional y bloqueo global de horarios — listo para escalar cuando llegue la autorización.

Resultados
0
idas y vueltas de WhatsApp
el vendedor reserva solo
Buffer variable
por zona geográfica
0 min mismo barrio · 30 min entre zonas
En uso
por su autor desde 2025
pendiente autorización para escalar
Listo
para 40 ejecutivos
multi-tenant + supervisor anticipado
El problema

La firma de cada crédito vivía en un ping-pong de mensajes.

Como ejecutivo de crédito de MiAuto Santander, mi rol es ser el nexo entre el vendedor de la concesionaria y la firma del crédito. El vendedor me manda el número de solicitud, yo reviso documentación, doy el OK para firmar, y recién ahí empieza la coordinación: cuándo y dónde firma el cliente.

El flujo previo era brutal: yo decía "tengo disponible X". El vendedor preguntaba al cliente. El cliente proponía otro horario. El vendedor me volvía a preguntar. Yo confirmaba o negaba. Si estaba en medio de otra firma, la respuesta podía tardar horas. Cada operación era un mini ping-pong de WhatsApp que se podía estirar todo el día.

Empecé usando Calendly. Resolvía el self-service pero rompía algo crítico: el buffer time fijo. Yo me muevo entre concesionarias — a veces dos están literalmente al lado, a veces hay 30 minutos de auto entre una y otra. Calendly me obligaba a poner siempre el mismo buffer. Si lo ponía corto, llegaba tarde. Si lo ponía largo, perdía huecos donde podía firmar cerca y ahorrarme un viaje.

"Necesitaba un buffer time que entendiera la geografía — cero entre concesionarias vecinas, treinta minutos entre zonas distintas."
— Alvaro, el día que decidió construir su propia agenda
Alternativas evaluadas

Por qué nada de lo existente alcanzaba.

Calendly / Cal.com
Self-service sí, pero buffer time fijo. No distingue entre una firma al lado y una firma del otro lado de la ciudad.
Google Calendar a pelo
Sin self-service. Volvía a poner al vendedor de intermediario entre el cliente y yo.
Excel / WhatsApp
El proceso del que estaba huyendo. Idas y vueltas, errores, demora.
Build a medida
La única opción que respeta cómo se mueve realmente un ejecutivo entre zonas — y la que pude escalar después a todo el equipo.
✓ ELEGIDA
El abordaje

Cuatro principios que guiaron el proyecto.

01

Para mí primero, sin pedirle permiso a nadie

La v1 la construí solo para mi propio uso, con mi Google Calendar como source-of-truth. Validé la idea en mi día a día antes de pensar en escalarla.

02

Zonas como ciudadano de primera clase

El concepto central no es "tiempo libre" — es "tiempo libre considerando dónde voy a estar antes". Las zonas y sus buffers son entidades configurables, no constantes en el código.

03

Recomendar, no solo mostrar

Mostrar todos los huecos válidos llenaba mi día de slots sueltos. Sumé una vista de horarios recomendados que prioriza los que minimizan tiempo muerto entre firmas.

04

Multi-tenant como diseño anticipatorio

Cuando mi supervisor mostró interés, refactoricé a multi-usuario antes de que me lo pidieran. Me pregunté qué necesitaría alguien que coordina una red — no alguien que opera dentro de ella.

Arquitectura

Cómo está armado por dentro.

Multi-tenant simple: cada agente tiene su propia URL pública (agenda.idevor.com/su-nombre), su Google Calendar conectado por OAuth, sus zonas configurables y sus reglas de buffer. Encima, un panel de supervisor que ve la red completa.

Agente · Frontend
Web app responsive PWA instalable Push notifications
Backend
Node.js + Express PostgreSQL Multi-tenant por slug
Integración
Google Calendar API OAuth 2.0 por agente Service Worker
Infra
Docker Railway Logs centralizados
Diagrama de sistema
Browser
React · PWA
API
Node.js · Express
Google Calendar
OAuth 2.0 · por agente
PostgreSQL
Zonas · buffers · tenants
Decisiones técnicas

Lo que elegí y por qué.

01

OAuth a Google Calendar de cada agente

Los ejecutivos ya viven en su Google Calendar. No los podía sacar de ahí. La agenda lee y escribe ahí directamente — Google Calendar sigue siendo la verdad para el agente.

02

Zonas y buffers como datos, no como código

Cada agente configura sus propias zonas y los buffers entre ellas. La lógica geográfica del que opera en Maldonado no es la misma del que opera en Pocitos.

03

PWA con push, no app nativa

Los agentes la instalan desde el browser. Cero fricción de stores. Las push notifications avisan cuando alguien agenda una firma — el dato más crítico llega en tiempo real.

04

Slug por agente en la URL pública

agenda.idevor.com/alvarosalazar es la URL que el vendedor recibe. Independiente, memorable, brandeable. Si el agente sale del equipo, la URL deja de funcionar sin tocar nada más.

Flujos clave

Cómo se usa.

Flujo 01

Vendedor reserva una firma (self-service)

Después del OK de crédito, el vendedor recibe el link del ejecutivo. Ve solo horarios viables (ya filtrados por buffer geográfico) y los recomendados en la parte de arriba. Reserva con un click — sin volver a preguntar.

  • Recomendaciones priorizan slots adyacentes a firmas ya agendadas
  • Buffer entre zonas aplicado automáticamente
  • Confirmación al instante en Google Calendar del agente
Confirmación y push notification
Flujo 02

Panel del agente · zonas y objetivos

Cada agente configura sus propias zonas geográficas y los buffers entre ellas. También tiene un módulo de objetivos para llevar control de venta de accesorios, seguros y métricas comerciales propias del rol.

  • Zonas y buffers configurables sin tocar código
  • Módulo de objetivos comerciales
  • Foto de perfil personalizable (no la default de Google)
Panel del agente MiAuto
Flujo 03

Panel del supervisor · mapa de ocupación nacional

Mapa de Uruguay pintado con gradiente verde→naranja→rojo según ocupación de los agentes. Filtros por departamento y horario. Panel de bloqueo global para reservar slots de reunión en toda la red al mismo tiempo.

  • Mapa con gradiente de ocupación en vivo
  • Filtros por departamento + horario disponible
  • Bloqueo global para reuniones del equipo
Panel del supervisor MiAuto
Lecciones

Lo que me llevé del proyecto.

01

Construir primero para mí mismo fue la mejor decisión de producto. La v1 ya estaba probada en mi día a día cuando llegó el interés de mi supervisor.

02

El refactor a multi-tenant fue mucho más prolijo porque la v1 estaba bien diseñada para un caso real, no para una abstracción imaginaria.

03

Las funcionalidades del supervisor no salieron de un brief — me las hice yo, anticipándome: ¿qué necesitaría alguien que coordina una red entera, no alguien que opera dentro de ella?

04

Estar listo antes de que me pidieran escalarlo es parte del trabajo. Lo diseñé esperando autorización para presentarlo al resto de los ejecutivos.

Siguiente case study

Finanzas →

Mismo abordaje, otro problema desde adentro.

¿Tenés un problema parecido?

Contame los detalles. Respondo en menos de 24 h.

contacto@idevor.com →