2026-06-08 · DATA ROOM
TwinSight AI
TwinSight AI: Gemelos IA para predecir el éxito de tu producto.
ELEVATOR PITCH
TwinSight AI empodera a equipos de marketing y producto con 'gemelos de cliente' IA para simular feedback de mercado instantáneo. Esto permite validar hipótesis y optimizar el gasto con alta precisión, respaldado por un margen de beneficio del 86% y una Scalability Rating del 90%.
VALUE PROPOSITION
Nuestra diferenciación radica en la creación de gemelos de alta fidelidad basados en tus propios datos, ofreciendo simulaciones realistas y contextualizadas que reducen drásticamente el riesgo y el tiempo de la investigación de mercado.
EXPLAINER.md
TwinSight AI — Customer Twin Simulation Platform
Concepto
TwinSight AI resuelve el problema de la validación costosa de hipótesis de marketing y producto. En lugar de lanzar campañas o features sin saber la reacción del público, los Product Managers y Marketing Managers crean Customer Twins — perfiles sintéticos de IA que representan segmentos de clientes reales, entrenados con datos propios (entrevistas, encuestas, demografía).
Ante cualquier hipótesis — un nuevo eslogan, una descripción de feature, un cambio de precio — TwinSight convoca un focus group virtual de gemelos de IA que responden como lo haría ese segmento. El resultado es un informe agregado con sentimiento, temas clave y citas destacadas en segundos, no semanas.
Inspirado en Auxos (YC).
Arquitectura
┌─────────────────────────────────────────────────────────────┐
│ REST API (8080) │
│ AuthController │ PersonaController │ SimulationController│
└──────────────────┴─────────────────────┴─────────────────────┘
│ │ │
┌─────────────────────────────────────────────────────────────┐
│ Service Layer │
│ AuthService │ PersonaService │ SimulationService │
│ │ │ SimulationRunner (@Async) │
│ │ │ LlmService │
└───────────────┴──────────────────┴──────────────────────────┘
│ │ │
┌─────────────────────────────────────────────────────────────┐
│ Persistence Layer │
│ UserRepository │ PersonaProfileRepository │
│ OrganizationRepository │ SimulationRunRepository │
│ H2 (dev) / PostgreSQL (prod) │
└─────────────────────────────────────────────────────────────┘
Decisiones de diseño clave
| Concern | Decisión | Motivo |
|---|---|---|
| Autenticación | Stateless JWT (JJWT 0.12.x) | Sin estado de sesión — apto para escalar horizontalmente |
| Multi-tenancy | organizationId en cada entidad | Aislamiento por tenant en todas las queries |
| Concurrencia LLM | Java 25 Virtual Threads | Executors.newVirtualThreadPerTaskExecutor() — sin pool exhaustion bajo carga I/O |
| Async simulation | Spring @Async("simulationExecutor") | El endpoint retorna 202 inmediatamente; el cliente hace polling |
| Embeddings (RAG) | JSON text en embedding_json | MVP sin dependencia de pgvector — listo para migrar a Pinecone/pgvector |
| DTOs | Java 25 Records | Inmutabilidad, equals/hashCode gratis, Javadoc estructurado |
| Base de datos | H2 (dev) / PostgreSQL (prod) | Auto-configuración Spring Boot; sin setup para desarrollo |
Endpoints
Auth — POST /api/auth/** (público)
POST /api/auth/register
{
"name": "Ana López",
"email": "ana@acme.com",
"password": "secret123",
"organizationName": "Acme Corp"
}
→ 201 { "token": "...", "email": "ana@acme.com", "organizationId": "..." }
POST /api/auth/login
{ "email": "ana@acme.com", "password": "secret123" }
→ 200 { "token": "eyJ...", "email": "...", "organizationId": "..." }
Personas — Authorization: Bearer <token> requerido
GET /api/personas — lista todos los Customer Twins de la org
POST /api/personas — crea persona + genera embedding vectorial
GET /api/personas/{id} — obtiene un perfil
PUT /api/personas/{id} — actualiza perfil + re-embeds
DELETE /api/personas/{id} — elimina perfil
POST /api/personas
{
"name": "Early Adopter Tech",
"description": "Software engineer, 28-35, urban, early adopter",
"demographics": "Age: 28-35, Income: $80k+, Location: SF/NYC",
"interviewData": "Transcript: 'I always look for tools that save me time...'",
"surveyData": "NPS: 8.5/10, Pain point: too many manual steps"
}
→ 201 { "id": "...", "name": "...", "embeddingReady": true, ... }
Simulaciones — Authorization: Bearer <token> requerido
POST /api/simulations — inicia simulación async (retorna 202 ACCEPTED)
GET /api/simulations — lista todas las simulaciones de la org
GET /api/simulations/{id}/results — poll hasta status=COMPLETED
POST /api/simulations
{
"personaProfileId": "uuid-de-la-persona",
"hypothesis": "What do you think of our new slogan: 'Ship faster, worry less'?",
"panelSize": 5
}
→ 202 { "id": "...", "status": "PENDING", ... }
GET /api/simulations/{id}/results
→ 200 {
"id": "...",
"status": "COMPLETED",
"sentimentSummary": "POSITIVE: 60% | NEUTRAL: 20% | NEGATIVE: 20%",
"keyThemes": ["workflow", "adoption", "trust"],
"highlights": ["This resonates with me...", "I'd need more evidence..."],
"responses": [
{ "respondentId": 0, "response": "...", "sentiment": "POSITIVE", "keywords": [...] },
...
]
}
Flujo de Simulación (Virtual Threads)
Controller.startSimulation()
│
├─ [tx1] SimulationService.startSimulation()
│ ├─ Verifica ownership (tenant isolation)
│ ├─ Persiste SimulationRun{status=PENDING}
│ └─ Devuelve 202 Accepted
│
└─ SimulationRunner.execute(id) ← @Async → Virtual Thread
├─ setStatus(RUNNING) save()
├─ Carga PersonaProfile (RAG context)
├─ try (var vt = Executors.newVirtualThreadPerTaskExecutor())
│ ├─ VT-0: LlmService.generateResponse(persona, hypothesis, 0)
│ ├─ VT-1: LlmService.generateResponse(persona, hypothesis, 1)
│ └─ VT-N: ...
├─ Agrega resultados: sentimiento, temas, citas
└─ setStatus(COMPLETED) save()
Client polls GET /api/simulations/{id}/results until status=COMPLETED
Análisis de Negocio
Propuesta de valor
- Velocidad: insights en segundos vs. semanas de focus groups tradicionales.
- Escala: 1 persona puede simular 20 respondentes en paralelo sin costo adicional.
- Bajo riesgo: "falla rápido y barato" — testa antes de comprometer presupuesto real.
Modelo Freemium (mvpFeatures → tiers)
| Plan | Personas | Simulaciones/mes | Panel máximo |
|---|---|---|---|
| Free | 1 | 5 | 5 respondentes |
| Starter ($49/mo) | 5 | 50 | 10 respondentes |
| Pro ($199/mo) | Ilimitadas | Ilimitadas | 20 respondentes |
| Enterprise | Custom | Custom | Custom + HubSpot/Mixpanel |
Métricas clave del MVP
- Time-to-insight: \< 10 segundos para panel de 5.
- Diferenciación: embedding vectorial por persona → respuestas contextualmente relevantes.
- Moat técnico: cuanto más datos de entrevistas/encuestas ingesta el cliente, más preciso el gemelo.
Referencias
Cómo ejecutar
Prerrequisitos
- Java 25+
- Maven 3.9+
Desarrollo (H2 en memoria)
cd solutions/2026-06-08-twinsight-ai-api
mvn spring-boot:run
La aplicación arranca en http://localhost:8080 con H2 embebido (auto-configurado).
Compilar
mvn clean compile
Producción (PostgreSQL)
Configura las siguientes variables de entorno:
SPRING_DATASOURCE_URL=jdbc:postgresql://localhost:5432/twinsight
SPRING_DATASOURCE_USERNAME=twinsight
SPRING_DATASOURCE_PASSWORD=secret
SPRING_JPA_HIBERNATE_DDL_AUTO=validate
JWT_SECRET=your-256-bit-secret-key-change-in-production
Ejemplo rápido con curl
# 1. Registro
TOKEN=$(curl -s -X POST http://localhost:8080/api/auth/register \
-H "Content-Type: application/json" \
-d '{"name":"Ana","email":"ana@acme.com","password":"secret123","organizationName":"Acme"}' \
| jq -r '.token')
# 2. Crear Customer Twin
PERSONA_ID=$(curl -s -X POST http://localhost:8080/api/personas \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Tech Early Adopter",
"description": "Software engineer, 30s, urban, productivity obsessed",
"demographics": "Age: 28-35, Income: $90k+",
"interviewData": "I need tools that reduce friction and integrate with my workflow.",
"surveyData": "NPS: 9. Pain: too many manual steps."
}' | jq -r '.id')
# 3. Lanzar simulación
SIM_ID=$(curl -s -X POST http://localhost:8080/api/simulations \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d "{\"personaProfileId\":\"$PERSONA_ID\",\"hypothesis\":\"Ship faster, worry less\",\"panelSize\":5}" \
| jq -r '.id')
# 4. Obtener resultados
curl -s "http://localhost:8080/api/simulations/$SIM_ID/results" \
-H "Authorization: Bearer $TOKEN" | jq .
FinOps Analysis: TwinSight AI
1. Estimación de Costos Operativos Mensuales
Para "TwinSight AI", los costos operativos se centran principalmente en el consumo de Large Language Models (LLM) y la infraestructura cloud necesaria para soportar la aplicación Spring Boot.
A. Consumo de Tokens LLM:
- Supuestos de Uso:
- Cálculo:
B. Costos de APIs Externas (LLM):
Utilizando OpenAI GPT-4o, dado el requisito de "alta capacidad" y la mención de GPT-4o en el caso de negocio. Los precios son: $5.00/1M tokens de entrada, $15.00/1M tokens de salida.
- Desglose de Tokens:
- Costo LLM:
C. Costos de Infraestructura Cloud (AWS Baseline):
Para una micro-startup en crecimiento, se estima una infraestructura que pueda manejar la carga inicial y un crecimiento moderado.
- Servidor de Aplicaciones (Spring Boot): EC2 %%INLINE8%% (2 vCPU, 4GB RAM) en %%INLINE9%% (on-demand): ~$27.29/mes.
- Base de Datos (PostgreSQL con Pgvector): RDS %%INLINE10%% (2 vCPU, 2GB RAM) con 20GB de almacenamiento SSD de propósito general en %%INLINE11%%: ~$31.82/mes.
- Red y Monitoreo: Incluye transferencia de datos, CloudWatch logs y métricas, y otros servicios menores: ~$10.89/mes.
- Costo Total de Infraestructura: ~$70.00/mes.
- LLM (OpenAI GPT-4o): $70.00
- Infraestructura Cloud (AWS): $70.00
- Costo Operativo Total Estimado: ~$140.00/mes.
2. Estimación de Ingresos Mensuales
El modelo de monetización es SaaS freemium con planes de pago por niveles. Asumiendo un precio promedio por plan de $49/mes (considerando diferentes niveles y características).
- Clientes de Pago: Se proyectan 20 clientes de pago en una fase temprana.
- Ingreso Mensual Redondeado: ~$1,000/mes.
3. Cálculo del Margen de Beneficio
- Ingresos Mensuales: $1,000
- Costos Operativos Mensuales: $140
- Beneficio Bruto: $1,000 - $140 = $860
4. Optimizaciones FinOps para Reducir Costos
Un margen de beneficio del 86% es excelente, pero la optimización continua es clave para la sostenibilidad y escalabilidad.
- Estrategia de LLM por Niveles (Tiered LLM Strategy):
- Caching de Respuestas LLM:
- Optimización de Prompt Engineering:
- Ahorros en Infraestructura Cloud:
- Optimización de Base de Datos Vectorial:
Estas optimizaciones permitirán a TwinSight AI mantener un modelo de costos eficiente a medida que escala, maximizando la rentabilidad y asegurando la sostenibilidad a largo plazo.
MVP FEATURES
- 01Ingesta de Datos de Persona: Permitir a los usuarios definir sus arquetipos de cliente subiendo datos existentes (transcripciones de entrevistas, resultados de encuestas, datos demográficos).
- 02Plataforma de Simulación: Una interfaz simple para que los usuarios introduzcan una hipótesis, pregunta o estímulo (e.g., un nuevo eslogan, una descripción de funcionalidad, una pregunta sobre precios).
- 03Panel de Resultados Agregados: Generar un informe con respuestas simuladas de un 'focus group' de gemelos de IA, incluyendo análisis de sentimiento, temas clave y citas destacadas.
- 04Gestión de Personas: Un dashboard para crear, editar y gestionar múltiples perfiles de 'Customer Twins' para diferentes segmentos de mercado.
“Simula el futuro de tu producto y marketing con gemelos de cliente IA.”
Revisa el código, la documentación de la API y el manejo de errores para consolidar nuestra oferta y prepararnos para el Pre-Seed.
Redact AI
88Redact AI ofrece un microservicio API-first para que CTOs y Jefes de Ingeniería implementen el 'derecho al olvido' en sus modelos de IA, eliminando datos de usuario de forma segura. Con un Health Score del 84% y un margen de beneficio del 94%, garantizamos cumplimiento normativo, reducimos costes operativos y aceleramos la innovación sin reentrenamientos completos.
StockWise AI
85StockWise AI es una solución SaaS que empodera a las pymes de e-commerce con recomendaciones proactivas de inventario, prediciendo qué, cuánto y cuándo reponer. Con un Health Score del 87% y un margen de beneficio del 90%, nuestra IA elimina las conjeturas para maximizar ventas y optimizar el capital.
NetSentry AI
85NetSentry AI capacita a los equipos de SRE y DevOps para convertir el vasto ruido de la telemetría en análisis de causa raíz instantáneos, ahorrando millones en tiempo de inactividad. Nuestra innovadora arquitectura de agentes colaborativos, validada con un Health Score del 87%, ofrece claridad y eficiencia sin precedentes.