Caso de estudio · 6 min de lectura

Tablero de leads
para PyMEs

Un CRM ligero que prioriza una pregunta sobre todas las demás: ¿qué tengo que hacer hoy?

Tipo
Producto SaaS · demo pública
Rol
Diseño de producto y dirección técnica
Stack
Next.js 15, Supabase, Tailwind v4, framer-motion

El punto de partida

Los CRMs que usan las PyMEs argentinas comparten un problema: muestran todo, accionan poco. El comercial entra, ve un dashboard con 40 widgets, y vuelve a su WhatsApp para trabajar.

Quería diseñar el opuesto. Un producto que el primer día de uso te diga, sin que tengas que pensarlo:

"Hoy llamá a estos 3. La cotización de Aliaga venció ayer. Sofía tiene capacidad, pasale los leads frío de Diego."

Esto es lo que el dueño de una PyME le pide a su comercial todos los lunes. Lo que faltaba era un producto que lo dijera primero.


El tablero no es un dashboard

Pantalla del tablero principal con patrón detectado y leads que se enfrían

La home tiene una estructura intencional:

  1. Estado del pipeline — los USD activos distribuidos por etapa
  2. Patrón detectado — el sistema le dice al usuario qué está pasando, no espera que lo descubra
  3. Leads que se enfrían — los que están perdiendo temperatura, ordenados por urgencia
  4. Oportunidades a mover hoy — los próximos pasos comprometidos con hora

No hay gráficos al frente. No hay KPIs grandes. Esos están a un click, en /conversion. La home se ocupa de qué hacer ahora.

El saludo cambia según el horario — "Hola Mariana, buenas noches" — porque el producto te habla, no te informa.


La inteligencia honesta

Pantalla de patrones detectados con los 5 tipos de insights

Cinco detectores que cruzan el pipeline, el equipo y el histórico:

Tipo Qué detecta
Operativo Leads del formulario sin asignar comercial
Atasco Leads >14 días sin movimiento en una etapa
Oportunidad Concentración de cierres en un día/franja
Tendencia Desbalance entre leads creados vs cerrados
Sugerencia Desbalance de carga en el equipo

Detrás del término "IA" hay queries SQL determinísticas. Lo hice así a propósito: la "IA" que la mayoría de los CRMs vende es exactamente eso. Ser honesto al respecto fue una decisión de producto, no técnica.

SQL
-- Detector "atasco" (simplificado)
SELECT l.*
FROM leads l
JOIN ultimo_cambio uc ON uc.lead_id = l.id
WHERE l.estado = 'propuesta'
  AND uc.ultima_fecha < now() - interval '14 days';

Cada patrón se puede marcar como resuelto, pero queda en el histórico — eso protege al usuario de "perder" un insight si lo cierra por error, y le permite al sistema aprender qué patrones funcionan y cuáles ignora.


La ficha del lead

Ficha de detalle de un lead con valor, estado, agenda y contactos

Cada lead es una página completa con:

Tres acciones primarias arriba a la derecha: Registrar contacto (la más frecuente, en negro) · Mover a propuesta · Editar. El menú "..." guarda las acciones secundarias (reasignar, marcar perdido, confirmar ganado).

La barra de progreso bajo el estado actual muestra dónde está y a qué etapa puede mover. Una decisión chica pero importante: el usuario ve siempre el camino completo, no solo el casillero en el que está parado.


El kanban del pipeline

Kanban del pipeline con cards de leads distribuidas en 5 columnas

Drag & drop con @dnd-kit, animaciones de spring con framer-motion. Cinco columnas: Nuevos, En conversación, Propuesta, Cierre, Ganados.

Cada columna tiene su propio acento de color en la barra superior. Las cards muestran nombre, origen (LinkedIn, WhatsApp, Formulario, Referido) con un dot del color del canal, valor estimado, tipo (recurrente o proyecto), responsable y antigüedad en la etapa.

El detalle que más me gusta: las advertencias de atasco aparecen como cards amarillas dentro de la columna, mezcladas con el resto. "5 atascados hace +14 días" en Propuesta, "8 atascados hace +14 días" en Ganados (sí, ganados también — los que cerraron pero no se facturaron). El insight vive donde está el trabajo, no en una pestaña aparte.


Conversión y Cerrados, las dos caras del mes

/conversion es para el dueño que busca el cuello del embudo.

Pantalla de conversión con el embudo y los insights del mes

El título dice "Dónde estamos perdiendo leads" — no "Embudo de conversión". El framing importa: el dueño abre esta pantalla buscando un problema, no contemplando una métrica.

Cuatro KPIs arriba con delta vs período anterior. Un insight del mes destacado en violeta: "El cuello del embudo está en Propuesta → Cierre. Solo 20% de los leads pasan esa transición. Los leads se quedan en promedio 13 días antes de moverse o caerse."

Abajo, el embudo de barras decrecientes con conversión entre etapas, tiempo en cada etapa (con la etapa cuello destacada en amarillo) y una línea de tendencia de 3 meses.

Nota: en la captura el seed todavía está en proceso de enriquecerse — los números del mes muestran 45 leads y 2 ganados. El seed final del producto tiene más historia mensual para que las tendencias se vean completas.

/cerrados es la contraparte: el resultado tangible del mes.

Pantalla de cerrados con ranking de comerciales y lista de cierres

Cuatro KPIs con accent lateral por color: ganados (verde) / valor cerrado (azul/verde) / perdidos (rojo) / ratio de cierre (violeta). El "USD 59.400 · 79% de meta" muestra al usuario si está cumpliendo el objetivo del mes.

Ranking de comerciales con podio de medallas oro / plata / bronce. La gamificación sutil funciona en ventas, y el ranking se calcula por valor cerrado, no por ratio — eso protege al comercial que cierra pocos pero grandes.

Debajo del podio, la lista de cierres con valor, días que tardó cada uno, responsable y origen. Al final (colapsado), la sección "Lo perdido" con los 3 motivos top en banda visual.


El sistema visual

Cuatro decisiones que mantuve coherentes en todo el producto:

  1. Una sola tipografía display (Fraunces SOFT=100) en cursiva para una palabra clave por título. Viendo. Cerraste. Perdiendo. En juego. Cada pantalla tiene su verbo.
  2. Tres colores semánticos (rojo / amarillo / verde) y cuatro de marca (azul / violeta / turquesa / coral). Nada más.
  3. Un solo elemento hero por pantalla. Si hay núcleo, no hay otra cosa compitiendo.
  4. Voz rioplatense en toda la UI. "Tenés 21 leads que pidieron seguimiento". "Aquí se atascan". "Empezamos por lo que se enfría". Sin tecnicismos. Una PyME en Bahía Blanca tiene que sentir que el producto le habla a ella, no a una startup de San Francisco.

Mobile-first sin ser mobile-only

Las 7 pantallas principales tienen rediseño mobile completo. No es responsive automático: las KPIs se reordenan en 2×2, los acordeones se colapsan distinto, las tablas se compactan dejando solo lo esencial.

Versión mobile de la pantalla de cerrados

En mobile, los datos pierden columnas (responsable, fecha exacta) y quedan solo los que importan en pantalla chica: nombre del lead, valor, link al detalle. La densidad cambia, la jerarquía no.


Lo que dejé afuera (a propósito)

Tres cosas que un CRM "completo" tendría y este no:

Decir "esto no" es tan parte del diseño como decir "esto sí".


Cómo está construido

Stack chico, opinionado, sin sobreingeniería: Next.js 15 con App Router · Supabase (Postgres + RLS) · Tailwind v4 con design tokens · framer-motion + @dnd-kit · Vercel con cron que resetea el seed cada noche a las 03:00 ART.

Las 42 pantallas y componentes del producto se construyeron en ~5 días dividiendo el trabajo entre tres instancias de Claude:

Esta división — Chat diseña, Code implementa, Chrome audita — permite avanzar al ritmo de un equipo de 4 personas siendo una.

Si querés verlo en vivo

Probalo. Rompé cosas.

Datos se resetean cada noche a las 03:00 ART. Sentite libre de romper cosas.