Ir al contenido

Introduccion

Presage es una biblioteca para construir interfaces de usuario adaptativas en aplicaciones SaaS. Conecta los datos de analisis sin procesar con la interfaz que ven sus usuarios, permitiendo personalizar experiencias sin necesidad de una plataforma empresarial.

La mayoria de las aplicaciones SaaS tratan a todos los usuarios de manera identica. Un visitante nuevo ve el mismo tablero que un usuario avanzado con 500 sesiones. Cuando los equipos personalizan, suele verse asi:

// Disperso en docenas de componentes
if (user.role === 'admin' && user.plan === 'enterprise') {
showAdvancedDashboard()
} else if (user.sessionsCount < 3) {
showOnboarding()
} else {
showDefault()
}

Este enfoque se deteriora rapidamente:

  • Sin fuente unica de verdad — las condiciones estan dispersas por todo el codigo
  • Sin conciencia del comportamiento — se rastrean clics pero nunca se usan para guiar la interfaz
  • Alternativas costosas — las plataformas empresariales de personalizacion cuestan seis cifras y requieren un equipo de datos

Presage le ofrece tres primitivas:

  1. Un motor de reglas — condiciones declarativas con 14 operadores, ordenamiento por prioridad y logica booleana
  2. Senales de comportamiento — calculadas automaticamente a partir de eventos rastreados (conteo de sesiones, uso de funcionalidades, mapas de clics)
  3. Madurez del usuario — segmentacion automatica en new, onboarding, active, power o dormant

Estas se combinan en un unico UserContext al cual sus componentes de interfaz pueden reaccionar.

Presage esta disenado para desarrolladores SaaS B2B que:

  • Quieren mostrar diferentes flujos de incorporacion segun el comportamiento del usuario
  • Necesitan adaptar la navegacion, tableros o descubrimiento de funcionalidades por segmento de usuario
  • Estan cansados de dispersar logica if/else en los componentes
  • No quieren (o no pueden costear) una plataforma empresarial de personalizacion
ConceptoDescripcion
UserContextLa imagen completa: atributos + senales + madurez
Adaptation PointUn lugar en su interfaz que puede mostrar diferentes variantes
RuleUn par condicion-accion: “si X, mostrar variante Y”
StrategyComo se seleccionan las variantes (basada en reglas hoy, bandits proximamente)
TrackerRegistra eventos y alimenta el calculo de senales
PersistenceAlmacena atributos y senales entre sesiones
Track Events → Compute Signals → Evaluate Rules → Render Variant
↑ ↓
└──────────── Impression Tracking ←──────────────────┘

Presage opera completamente del lado del cliente por defecto, con un backend opcional para funcionalidades avanzadas. El nucleo es agnostico al framework — los adaptadores de React y Vue proporcionan bindings idiomaticos.