Hoy no escribí una sola línea de producto. A propósito.

Hay una tentación que casi nadie confiesa cuando construye en público: la de codear. La mano pica. Tienes la idea clara, el editor abierto, dos horas por delante, y una vocecita que dice empieza el esqueleto, total, después lo arreglas. Casi todo lo que se rompe en un proyecto empieza con esa vocecita.

Hoy le dije que no.

El proyecto se llama CAUCE. Es un producto futuro de la corporación: un hub omnicanal de mensajería —WhatsApp, Messenger, Instagram y, desde esta vuelta, también chat web— donde cada cliente puede configurar su propio agente de IA. En el mapa de la corporación, CAUCE es el expand: la pieza que crece sobre una relación que ya existe. El land, la puerta de entrada, ya está vivo y ya cobra. CAUCE todavía no.

Y ese “todavía” es el punto de toda esta entrada.

La regla que me impuse

Hay una regla dura, autoimpuesta, escrita antes de tener ganas de romperla: cero código multi-tenant hasta tener al menos dos clientes pagando —o uno pagando y otro con una carta de intención sobre la mesa.

Multi-tenant significa construir un sistema pensado para servir a muchos clientes a la vez, cada uno con su configuración, sus datos, sus reglas. Es la parte cara. Es la parte que, una vez que la empiezas, te obliga a mantenerla para siempre. Y es exactamente la parte que da más gusto empezar cuando la idea está fresca.

La regla existe porque el orden natural de un constructor entusiasta es al revés: construyo algo hermoso y después salgo a buscar a quién le sirve. Ese orden es cómodo y es una trampa. Se llama construir para un mercado imaginario. Yo ya pagué esa cuenta antes.

Así que CAUCE, por ahora, no se ha ganado el derecho a existir en código. Se lo tiene que ganar en el mundo real, con clientes reales que ponen plata. La sesión de hoy no fue de construcción: fue de preparar el terreno para escribir un PRD —el documento donde se define, antes de tocar nada, qué es exactamente lo que se va a construir y por qué.

El pago inesperado de frenar la mano

Acá viene la parte que no me esperaba.

Al sumar el chat web como cuarto canal de CAUCE, mi primer instinto fue el obvio: bueno, hay que construir el motor de chat web. Otro ladrillo, otra semana, otra cosa que mantener.

Me detuve a revisar el repositorio antes de estimar nada. Y el ladrillo ya estaba ahí.

Existe, hecho y funcionando, un motor de chat de venta genérico: un manejador de conversación, sus prompts, una barrera de seguridad —lo que se llama un guardrail, que evita que el agente se salga del libreto— corriendo sobre un gateway de IA con control de acceso y límite de uso. No lo construí para CAUCE. Lo construí para el producto de entrada, el que ya está vivo. Lo construí para resolver otro problema.

Y resultó ser, sin que nadie lo planificara, la infraestructura del siguiente producto.

CAUCE no parte de cero en su cuarto canal. Parte con la mitad del camino hecho, pagado por una decisión que tomé hace semanas para una razón completamente distinta.

Por qué esto no fue suerte

Es tentador contar esto como una casualidad afortunada. No lo es. Es la consecuencia directa de dos decisiones aburridas.

La primera: trabajar todo en un mismo repositorio, un monorepo, con las piezas diseñadas para ser genéricas desde el principio. Cuando un motor de chat no se llama “el chat de tal producto” sino simplemente “motor de chat de venta”, puede migrar de un producto a otro sin cirugía. La generalidad no es elegancia por deporte: es lo que convierte una pieza en infraestructura.

La segunda, y la más difícil: no haberme apurado. Si hoy hubiera cedido a la tentación de codear el chat web de CAUCE desde cero, habría duplicado algo que ya tenía. Habría construido dos veces lo mismo, y habría sentido que estaba avanzando. El avance falso es el más caro de todos, porque se ve idéntico al de verdad.

Frenar la mano me obligó a mirar antes de construir. Y al mirar, descubrí que no había nada que construir.

Lo difícil de construir en público

La parte fotogénica de construir en público es mostrar lo que haces: el deploy, la pantalla nueva, el número que sube. Eso se aplaude solo.

Lo difícil —lo que casi nadie muestra— es enseñar el momento en que eliges no construir. Cuando la disciplina se ve, desde afuera, exactamente igual que no hacer nada. Hoy no hay un commit que enseñar. Hay una regla que respeté cuando me habría encantado romperla, y un descubrimiento que solo aparece cuando te obligas a mirar el terreno antes de levantar la pala.

Lo que viene

Ahora sí toca pensar. Me queda hacer un brain-dump de esta nueva vuelta de la idea —vaciar la cabeza en bruto— y con eso armar el PRD canónico de CAUCE. Ahí definiremos qué es realmente y qué no. Y el día que se escriba la primera línea de código multi-tenant, será porque dos clientes reales dijeron, con plata, que vale la pena.

Hasta entonces, CAUCE espera. Y esperar bien, resulta, también es construir.