El servicio de auth aprendió a qué producto estaba sirviendo
El servicio de auth empezó tratando todos los productos igual. Un comportamiento, un conjunto de supuestos, todos los productos. Con un único producto, nada lo ponía en cuestión.
El segundo producto lo puso en cuestión de inmediato — otra app, con su propia marca y sus propios usuarios.
El síntoma fue una bienvenida rota. Un administrador crea un usuario para la nueva app; el email de setup llega con el nombre del primer producto, y el enlace lleva de vuelta al primer producto. Cada paso "funciona", pero la experiencia está mal. La causa no era el texto del email ni la redirección. Era que el servicio no tenía concepto de a qué producto pertenecía una acción.
ImportantUn servicio compartido no es lo mismo que un servicio que lo trata todo como uno. Compartido significa que una sola cosa sirve a varios productos. El fallo es dejar que "compartido" signifique en silencio "global" — el mismo comportamiento para todos, sin importar de quién es la acción.
Qué cambió
El arreglo no fue cosmético y no estaba en las plantillas. Estaba aguas arriba: cada acción de usuario tenía que llevar el producto al que pertenecía, desde el momento en que se creaba hasta el email y la página en la que aterriza el usuario. Una vez que la acción conocía su producto, la marca correcta, el destino correcto y el tono correcto venían solos, sin casos especiales.
En términos de antes/después:
El cambio fue pequeño donde se hizo. Los efectos aguas abajo no.
Por qué era el momento correcto
El segundo producto fue la presión que lo forzó. Sin un segundo consumidor real, el supuesto único parecía suficiente. Con uno, el desajuste era inmediato y visible.
Es un patrón que sigo viendo: la infraestructura compartida funciona cómodamente como genérica hasta que aparece un segundo consumidor real. El segundo consumidor no crea el problema — revela el supuesto que siempre había estado ahí. Aquí el supuesto era cada acción pertenece al mismo producto. Reemplazarlo por cada acción lleva su producto fue el paso arquitectónico correcto, no porque fuera elegante, sino porque era la única manera de mantener coherentes los dos productos.
Parte de mis notas de plataforma. Sigue el blog o escríbeme.