Desarrollar un tablero kanban para agencia con clientes externos cuesta entre 15,000 y 25,000 USD, tarda de 8 a 12 semanas en producción y se paga solo en menos de 18 meses cuando reemplaza licencias SaaS para 20 personas o más. La clave no es replicar Trello, es construir el control granular de quién ve qué, qué se bloquea por SLA y qué columnas son privadas internas. Sin retainers, sin licencias atadas, código a tu nombre.
Si diriges una agencia en Bogotá, Medellín o Cali con clientes externos en distintos países, recurriste a Trello o ClickUp y terminaste con tableros duplicados, capturas manuales para el cliente y discusiones sobre quién ve qué, este artículo es para ti.
Por qué un kanban genérico no calza con una agencia
Un tablero kanban genérico parte del supuesto de que todos los miembros ven todo. En una agencia con clientes externos esa premisa es exactamente el problema. El cliente no puede ver el costo interno por hora, el director no quiere que el ejecutor vea márgenes y el equipo creativo necesita columnas privadas donde se discute sin que el cliente lo lea.
Los workarounds típicos son tres: tener un tablero interno y otro de cliente (duplicación y desincronización), exportar capturas manuales semanales (trabajo manual y errores) o aceptar que el cliente vea de más (incomodidad y descuentos forzados). Ninguno escala más allá de 5 a 10 clientes activos.
Los 6 módulos no negociables de un kanban a medida
| Módulo | Qué resuelve | Complejidad estimada |
|---|---|---|
| RBAC por proyecto y por rol | Cliente ve su flujo, equipo ve todo, director ve costos | Media |
| Portal cliente con login propio | Cliente accede sin que tu agencia pague licencia | Baja |
| Columnas privadas internas | Discusión interna sin filtrarse al cliente | Baja |
| SLA visible con timer regresivo | Cliente sabe cuándo recibe entregable | Media |
| Time tracking automático | Horas por tarea sin captura manual del ejecutor | Alta |
| Reportería ejecutiva por cliente | Dashboard cliente y dashboard interno separados | Media |
La columna RBAC es donde 7 de cada 10 implementaciones fallan. Se modela como tabla de permisos pero se aplica solo en frontend, y a la primera filtración el cliente ve datos de otros. La forma correcta es Row Level Security en base de datos: el motor no devuelve la fila si el usuario no tiene permiso, ya sea desde el SDK, la API o un curl directo.
El caso real: Sales Board con 4 categorías y scoring 7-factor
En un proyecto reciente para una distribuidora multi-país, Catalizadora construyó un sales board kanban con 4 categorías (Active, Inactive, Potential, Cancelled) y un sistema de scoring de 7 factores (Competitors, Customers, Suppliers, Owners, Subsidiaries, Franchisees, Other). La lógica fue idéntica a un kanban de agencia:
- Cada franquicia ve solo sus propios leads y propuestas
- El equipo central ve el agregado por país y por categoría
- Las columnas privadas internas separan trabajo en curso de propuesta enviada
- Template Studio editable permite a cada franquicia personalizar columnas
- Outreach tracking y engagement scoring se calculan en código TypeScript con guardrails, no en respuestas de IA
El módulo se entregó como parte de un proyecto de 12 semanas. La arquitectura de RBAC, scoring y kanban es 80% reutilizable para una agencia de marketing, una distribuidora o una consultora con clientes externos. Cuando los datos se unifican, los problemas se anuncian solos.
Stack recomendado para producción
Para una agencia de 5 a 30 colaboradores con hasta 80 clientes externos activos, el stack que funciona es:
- Frontend en Next.js con TanStack Query y shadcn/ui para velocidad y consistencia
- Backend en FastAPI o NestJS con autenticación JWT y refresh tokens
- Base de datos PostgreSQL con Row Level Security activado por cliente
- Storage para adjuntos en Supabase Storage o S3 con URLs firmadas de corta duración
- Webhooks bidireccionales con Slack, Drive y herramientas existentes del cliente
- Audit log inmutable con hash chain SHA-256 para compliance
Evitar Firebase para este caso: el modelo de seguridad por reglas de Firestore se vuelve inmanejable cuando hay más de 5 niveles de permisos cruzados entre cliente, proyecto, columna y tarjeta.
El cálculo de payback honesto
Una agencia de 20 personas que paga ClickUp Business (12 USD por usuario al mes) más Notion Plus (8 USD por usuario al mes) más Slack Pro (8.75 USD por usuario al mes) gasta 575 USD mensuales solo en estas 3 herramientas. En 3 años son 20,700 USD. Y sigues sin tener el control granular que necesitas con clientes externos.
Construir el kanban a medida con MAGIA Forge cuesta 20,000 USD una vez, 12 semanas de entrega y queda 100% a tu nombre. La operación recurrente es de 300 a 800 USD mensuales (hosting, storage, tokens IA) según el volumen. El payback contra la suma de SaaS está entre 14 y 18 meses, y a partir del año 2 cada peso es margen.
Errores frecuentes al diseñar el RBAC
Cinco errores se repiten en implementaciones que vemos auditar después de un build inicial fallido:
- RBAC modelado solo en frontend, sin RLS en base de datos. A la primera curl directa, todo expuesto
- Roles hardcodeados en código en lugar de tabla configurable por cliente
- Cliente externo con tabla de usuarios separada en otro esquema (rompe joins, complica reportería)
- Sin auditoría de cambios de permiso, imposible rastrear quién dio acceso a quién
- URLs predecibles (incremental) en lugar de UUID, permitiendo enumeración por bot
La solución correcta es una sola tabla de usuarios con rol contextual, RLS en cada tabla sensible, UUID en cada recurso público, y un audit log append-only con SHA-256 hash chain para compliance.
Próximos pasos
Si tu agencia tiene más de 15 colaboradores, más de 20 clientes externos activos y ya pasaste el límite de lo que un SaaS resuelve, MAGIA Forge entrega el kanban a medida en 12 semanas por 20,000 USD con código, infraestructura y datos a tu nombre. Si tu agencia es de 1 a 5 personas con menos de 10 clientes y todavía cabe en una plantilla, MAGIA Solo cubre el caso con CRM y bot WhatsApp en 15 días por 4,500 USD. Contexto adicional en Wikipedia: Kanban (development).