SaaS Patterns
SaaS Patterns
8 reglasSettings: estructura por función
Las settings organizadas alfabeticamente o por fecha de implementación crean confusión. Agrupar por función del usuario: Perfil, Notificaciones, Seguridad, Integraciones, Facturación, Equipo. Cada grupo debe tener un proposito claro y mutuamente excluyente. Si un setting encaja en dos grupos, esta mal nombrado o mal diseñado.
linear · notion · nngroupBilling UI: cards de plan simples
Las tablas de comparación de planes con 30 filas de features no funcionan, el usuario no lee el 80% de ellas. Mostrar máximo 5-6 diferencias clave entre planes, agrupadas por valor (no por feature técnica). El plan actual debe estar claramente marcado. El CTA de upgrade debe especificar exactamente lo que se obtiene: "Desbloquear reportes avanzados" no "Upgrade a Pro".
linear · stripe · nngroupMeters de uso: 80% es punto de conversión
Mostrar el consumo de recursos (almacenamiento, llamadas API, usuarios) como barras de progreso con color que cambia al llegar al 80%: verde <80%, amarillo 80-95%, rojo >95%. En el 80% mostrar una notificación no intrusiva de upgrade. En el 95% mostrar un banner persistente. Al 100% bloquear con un modal de upgrade, nunca silenciosamente dejar de funcionar.
linear · stripe · nngroupFeature gates: solo en momento de necesidad
Mostrar un feature gate (upgrade prompt) cuando el usuario intenta usar una funcionalidad bloqueada, no como banner permanente ni en el onboarding. El gate debe explicar exactamente que desbloquea el upgrade y en cuanto tiempo tendría acceso. Nunca bloquear features completamente visibles pero inaccesibles sin explicación: eso genera frustración, no conversión.
linear · nngroupEmpty states como onboarding
Un estado vacio (0 proyectos, 0 integraciones, 0 reportes) es la mejor oportunidad de onboarding contextual. Incluir: ilustración o icono relevante, título que describe el estado, descripción breve de que permite hacer esa sección, y un CTA primario que inicia la acción. El empty state no es un mensaje de error, es una invitación.
linear · notion · nngroupNotificaciones: defaults inteligentes
El default de notificaciones debe ser útil desde el primer día: activar las criticas (asignaciones directas, menciones, alertas del sistema) y desactivar las de bajo valor (resumenes semanales, actividad general del equipo). El usuario que quiere más notificaciones las activa; el que recibe demasiadas las desactiva, y ambas acciones son igualmente accesibles desde un mismo centro de notificaciones.
linear · nngroupRoles y permisos: revelar progresivamente
Una matriz de permisos con 20 checkboxes por rol paraliza la configuración inicial. Ofrecer primero 3-4 roles predefinidos con nombres en lenguaje natural (Admin, Editor, Viewer, Guest). Si el usuario necesita algo más específico, ofrecer "Rol personalizado" como opción avanzada. Mostrar ejemplos de que puede hacer cada rol en términos de tareas reales, no de flags técnicos.
linear · nngroupActivity feed: contexto sobre volumen
Un feed de actividad que muestra "Maria edito el documento", "Maria edito el documento", "Maria edito el documento" 12 veces consecutivas es ruido, no información. Agrupar eventos repetidos del mismo usuario: "Maria realizo 12 ediciones en el Documento Q4". Priorizar eventos que requieren acción del usuario sobre eventos puramente informativos. El feed vacio es mejor que el feed con ruido.
linear · notion · nngroup- R-1012 Settings: estructura por función
- R-1013 Billing UI: cards de plan simples
- R-1014 Meters de uso: 80% es punto de conversión
- R-1015 Feature gates: solo en momento de necesidad
- R-1016 Empty states como onboarding
- R-1017 Notificaciones: defaults inteligentes
- R-1018 Roles y permisos: revelar progresivamente
- R-1019 Activity feed: contexto sobre volumen