Volver al Portfolio
Cliente: The Oracle Digital LLC

Digital Oracle

Transformando Misticismo Ancestral en SaaS Moderno

Cómo convertí un sistema de adivinación de 2000 años de antigüedad en una aplicación web escalable con IA que genera $74.8K MRR.

INDUSTRIA
SaaS Espiritual + AI/ML
USUARIOS REGISTRADOS
12,000
MRR ACTUAL
$74.8K
DURACIÓN
6 meses
MVP → Producción

Desglose de Revenue

Basic Tier ($4.99/mes)
9,000 usuarios
$44,910 MRR
Premium Tier ($9.99/mes)
3,000 usuarios
$29,970 MRR
Annual Recurring Revenue
$898,560

Stack Tecnológico

Frontend
Vue 3 TypeScript Vite Pinia Vue Router i18n (ES/EN/PT/FR)
Backend
FastAPI Python 3.10 Google Cloud Run
AI & Database
Google Vertex AI Gemini 2.5 Firestore
Payments
Stripe Subscriptions Webhooks

El Desafío: Modernizar lo Ancestral

Problema del Mercado

El mercado de apps espirituales está saturado de lecturas genéricas, UX confusas, y falta de personalización real. La oportunidad: combinar la profundidad de sistemas tradicionales (Runas Nórdicas + Lenormand) con IA moderna para crear experiencias personalizadas a escala.

Restricciones Técnicas

La Solución: Arquitectura de 3 Capas

1. Motor de Matching Probabilístico (Backend)

Algoritmo propietario de detección de patrones que analiza coincidencias horizontales y verticales en los bordes de las runas. Complejidad: O(n²) optimizado con early-exit.

# Algoritmo propietario de detección de patrones
def detect_edge_patterns(grid_5x5: List[List[Rune]]) -> List[Match]:
    """
    Detecta coincidencias horizontales y verticales en los bordes de las runas.
    Complejidad: O(n²) donde n = 25 (optimizado con early-exit)
    """
    matches = []

    # Horizontal matches (4 bordes por runa × 5 filas = 20 checks)
    for row in range(5):
        for col in range(4):
            left_rune = grid[row][col]
            right_rune = grid[row][col + 1]

            if edge_matches(left_rune.right_edge, right_rune.left_edge):
                match = create_match(
                    runes=[left_rune, right_rune],
                    type='horizontal',
                    lenormand_symbol=map_to_lenormand(edge_id)
                )
                matches.append(match)

    return matches

Innovación técnica: Pre-computación de mapeos runa → Lenormand (O(1) lookup), caché de interpretaciones por idioma, sistema de "Hidden Dimension" para usuarios premium.

2. Motor de IA Generativa (Google Vertex AI + Gemini)

Pipeline de narrativa personalizada que combina NLP avanzado, prompt engineering dinámico, y post-procesamiento inteligente.

User Question

[1. Pre-análisis NLP]
Clasificación • Detección de entidades • Análisis de polaridad • Contexto temporal

[2. Construcción de Prompt]
Historial • Perfil psicológico • Género • Estilo de narrativa

[3. Generación con LLM (actualmente Gemini 2.5)]
System instruction adaptativo • 500-1000 palabras • Tono calibrado por tier
Modelo configurable: Gemini | Claude | GPT | Llama

[4. Post-procesamiento]
Resumen • Tags temáticos • Almacenamiento Firestore
Tiempo de generación
60-90s
Costo por narrativa
$0.003
Satisfacción
87%

3. Sistema de Engagement Gamificado

Problema: Usuarios hacían 1 lectura y se iban.
Solución: Viaje de 5 pasos con soft-locks emocionales (no bloqueantes)

1️⃣
El Detonante
Pregunta inicial
2️⃣
El Espejo
Introspection Mirror
3️⃣
El Diálogo
Chat multi-turno
4️⃣
La Estrategia
Plan de acción
5️⃣
El Oráculo
Escenarios

UX Innovation: Introspection Mirror convierte complejidad en inputs simples con gamificación ("3/7 patrones completados"). Si la narrativa aún se genera, el botón recopila introspecciones y las inyecta al chat automáticamente. Resultado: Engagement +40%.

Modelo de Negocio & Monetización

Estrategia Freemium Calibrada

Tier Precio Límites Features Clave
Anonymous $0 1 lectura/día Solo grid + patrones, sin guardar
Free $0 (email) 3 lecturas/día Guardar lecturas, Diario, Chat básico
Basic $4.99/mes 10 lecturas/día Auto-save, Tags custom, Narrativa mejorada
Premium $9.99/mes Ilimitado Todo + Hidden Dimension + Pasos 4 & 5

Funnel de Conversión

100 usuarios anónimos
↓ (CTA: "Guarda tus lecturas") → 40% conversión
40 usuarios registrados (Free)
↓ (Límite 3/día alcanzado) → 15% conversión
6 usuarios Basic
↓ (Marketing: "Desbloquea el futuro") → 25% conversión
1.5 usuarios Premium
Conversión anónimo → pagador
3.2%
LTV promedio
$47
(retención 6 meses Premium)

Resultados & Métricas

Métricas de Producto

KPI Valor Benchmark Industria
Tiempo promedio de sesión 8m 34s 3m 12s
Lecturas por usuario/mes 4.7 2.1
Tasa de completación de journey 67% 23%
NPS (Net Promoter Score) +52 +30
Churn mensual 12% 25%

Métricas Técnicas

Uptime
99.8%
Google Cloud Run
p95 Latency
450ms
Lectura fast / 78s narrativa
Costo por usuario/mes
$0.23
Firestore + AI + Hosting
Bundle size
487 KB
gzipped
Lighthouse Performance
89/100
Accessibility: 95, SEO: 100
Error rate
0.3%
Monitoreado con Sentry

Learnings Clave

✓ Qué funcionó

  • Lectura en 2 fases: Usuarios no perciben la espera de IA
  • Gamificación suave: Progress counters aumentan engagement sin presionar
  • i18n desde día 1: 40% de usuarios son no-hispanohablantes
  • Personalización real: Satisfacción 87% vs 43% con templating

✗ Qué no funcionó (y cómo se arregló)

  • Triage muy estricto: Bloqueaba preguntas válidas → Se deshabilitó
  • Un solo tipo de consulta: Usuarios querían variedad → Clasificación dual
  • Narrativa muy larga: No leían 1200 palabras → Reducido a 600-800

Decisiones de Arquitectura Clave

1. Lectura en 2 Fases (Fast Reading Pattern)

Problema: La IA tarda 60-90s en generar narrativa → Mal UX
Solución: Respuesta instantánea (<500ms) con rune grid y patrones, luego generación de narrativa en segundo plano.

Impacto
Tasa de rebote -65%, tiempo de sesión +120%

2. Switchable AI Provider (Adaptación al Vértigo de Nuevos Modelos)

La industria de LLMs evoluciona semanalmente con modelos más potentes y económicos. Diseñamos una arquitectura agnóstica que nos permite migrar a nuevos modelos en minutos, no meses.

# Configuración 100% dinámica vía variables de entorno
AI_PROVIDER = os.getenv("AI_PROVIDER", "vertex")     # vertex | ai_studio | openai
MODEL_NAME = os.getenv("MODEL_NAME", "gemini-2.5-flash-002")  # Cualquier modelo

if AI_PROVIDER == "vertex":
    from vertexai.generative_models import GenerativeModel
    # Hoy: gemini-2.5-flash-002 | Mañana: gemini-3.0-flash | Solo cambiar .env
    ai_model = GenerativeModel(MODEL_NAME)

elif AI_PROVIDER == "ai_studio":
    import google.genai as genai
    # Mismo MODEL_NAME funciona aquí: gemini-2.5-flash, claude-opus-4, etc.
    ai_model = genai.Client(api_key=os.getenv("GEMINI_API_KEY"))

elif AI_PROVIDER == "openai":
    from openai import OpenAI
    # MODEL_NAME = "gpt-4o" o "gpt-5-preview" cuando salga
    ai_model = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))

# Un cambio de variable de entorno y migramos de proveedor/modelo
# Sin tocar código, sin redeploy, sin downtime

Filosofía de Adaptación Continua:

Arrancamos con Gemini 1.5, dimos el salto a Gemini 2.0 en enero de 2025 y seguimos iterando. En cuanto sale un modelo con mejor eficiencia, cambiamos el stack en menos de una hora ajustando una simple variable de entorno. Aquí no nos quedamos rancios.

3. Multi-Tenancy & Data Isolation (Firestore)

/users/{userId}/
  ├── readings/{readingId}
  ├── manifestations/{manifestationId}
  ├── manifesto_profile/
  └── scenarios/{scenarioId}

Seguridad & Compliance

1. Cloudflare: Capa de Protección Perimetral

Toda la aplicación está detrás de Cloudflare como primera línea de defensa contra ataques DDoS, bots maliciosos y fraude de pagos.

🛡️ WAF (Web Application Firewall)
Bloqueo automático de SQL injection, XSS, y patrones de ataque conocidos. Rules personalizadas para endpoints críticos.
🤖 Bot Protection
Cloudflare Turnstile en páginas de pago y registro. Detección ML de bots sofisticados sin CAPTCHA molesto.
💳 Card Testing Prevention
Rate limiting agresivo en endpoint de Stripe Checkout. Máximo 3 intentos de pago por IP cada 10 minutos.
🌍 DDoS Mitigation
Protección automática L3/L4/L7. Durante picos de tráfico, Cloudflare absorbió 2M+ requests maliciosos sin afectar usuarios reales.

2. Arquitectura Zero-Trust

No confiamos en nadie por defecto. Cada request es validado, cada usuario es verificado, cada acción es auditada.

// Firestore Security Rules - No bypass posible
rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {

    // Helper: usuario autenticado
    function isSignedIn() {
      return request.auth != null;
    }

    // Readings - solo el owner puede leer/escribir
    match /users/{userId}/readings/{readingId} {
      allow read, write: if isSignedIn() && request.auth.uid == userId;
    }

    // CADA request valida auth + ownership
    // Sin excepciones, sin backdoors
  }
}

3. Protección de Datos & Privacy

🔒
Encriptación Total
TLS 1.3 en tránsito, AES-256 en reposo (Firestore nativo)
🇪🇺
GDPR Compliant
Derecho al olvido: 1 llamada borra todo el historial del usuario
🔑
Secrets Management
API keys en Google Secret Manager, cero hardcoding

Aislamiento multi-tenant: Estructura `/users/{userId}/` garantiza que datos de usuario A nunca contaminen queries de usuario B, incluso con bugs de código.

4. Seguridad de Pagos (PCI DSS)

Delegamos PCI compliance a Stripe, pero añadimos capas extras de protección contra fraude.

Pipeline de Pago Seguro:

1️⃣ Cliente inicia checkout → Cloudflare Turnstile valida humano
2️⃣ Backend crea session → Valida userId existe y está autenticado
3️⃣ Stripe procesa pago → Datos de tarjeta NUNCA tocan nuestros servidores
4️⃣ Webhook callback → Signature verification (SHA-256 HMAC)
5️⃣ Upgrade tier → Actualización atómica en Firestore

5. AI Safety & Content Security

El output de IA es impredecible. Implementamos validaciones para prevenir abusos y contenido dañino.

Input Validation

  • • Max 500 caracteres en preguntas
  • • Sanitización de HTML/scripts
  • • Detección de prompt injection attacks
  • • Blacklist de palabras prohibidas

Output Filtering

  • • Content moderation API (Google)
  • • Filtro de contenido inapropiado
  • • Logging de todas las narrativas generadas
  • • Flag manual para revisión humana

6. Monitoreo & Incident Response

🔍 Error Tracking
Sentry
Alertas automáticas de errores críticos con stack traces completos
📊 Uptime Monitoring
99.8%
Google Cloud Monitoring + Cloudflare Analytics
🚨 Security Alerts
Real-time
Notificaciones instantáneas de patrones sospechosos

Structured logging: Todos los eventos críticos (login, pago, generación IA) se logean con timestamp, userId, IP y user-agent para análisis forense post-incidente.

Resultado: Seguridad sin Sacrificar UX

La mayoría de las protecciones son invisibles para el usuario legítimo. Cloudflare, WAF y rate limiting operan en background. Solo los atacantes ven fricciones.

0
Brechas de seguridad desde lanzamiento
2M+
Requests maliciosos bloqueados por Cloudflare
100%
Transacciones de pago verificadas con webhook signature

Por Qué Deberías Contratarme

🎯 Convierto Complejidad en Simplicidad

Tomé un sistema de 200+ variables y diseñé una UX que se siente como "magia automática". Tu proyecto complejo → Producto que usuarios aman.

🏗️ Arquitectura Escalable desde Día 1

No construyo prototipos descartables. Firestore auto-escala a millones, Cloud Run de 0 a 1000 instancias, sin vendor lock-in.

💡 Visión de Producto + Ejecución Técnica

No solo escribo código. Pienso en conversión (3.2%), retención (churn 12%), monetización (LTV $47), UX emocional (NPS +52).

⚡ Stack Moderno & Best Practices

TypeScript, Vue 3, FastAPI, Repository pattern, Git semántico, CI/CD. Tu futuro equipo agradecerá el código limpio.

Soy ideal para proyectos que requieren:

🎯
SaaS con IA/ML
Productos que usan LLMs, personalización basada en datos, sistemas de recomendación
🎨
UX compleja hecha simple
Dashboards con muchas variables, onboarding de productos complicados, flujos multi-paso
💰
Arquitectura de monetización
Freemium, suscripciones, Stripe webhooks, funnels de conversión
☁️
Cloud-native & escalable
Google Cloud, AWS, Azure, Serverless, Firestore, DynamoDB

Proyectos Similares Que Puedo Construir

🏥 Plataforma de telemedicina con IA (diagnóstico asistido, triaging)
🎓 EdTech adaptativo (learning paths personalizados con ML)
💼 CRM inteligente (predicción de churn, lead scoring automático)
🏡 PropTech (valuación de propiedades con computer vision)
🎵 Plataforma creativa con IA (generación de música, arte, contenido)
🛒 E-commerce personalizado (recomendaciones, dynamic pricing)

Lo que tienen en común: Complejidad técnica + UX simple + Monetización clara.

Hablemos de Tu Proyecto

¿Tienes un SaaS con IA, UX compleja, o arquitectura de monetización?

Última actualización: Diciembre 2024 • Versión del proyecto: v8.0

Este proyecto fue construido completamente por Elioenai Fiorillo, desde la concepción del producto hasta el despliegue en producción.