2026-05-17 · DATA ROOM
InsightLoop AI
InsightLoop AI: Entrevistas a Insights Accionables en Minutos
ELEVATOR PITCH
InsightLoop AI transforma horas de entrevistas de usuario en insights de producto accionables en minutos, eliminando el tedioso trabajo manual para Product Managers y UX Researchers. Con un Health Score del 87% y un margen de beneficio del 86%, nuestra plataforma acelera la toma de decisiones y asegura que construyas el producto correcto, más rápido.
VALUE PROPOSITION
Somos la solución 'AI-nativa' que automatiza por completo la síntesis de datos cualitativos, ofreciendo la ruta más rápida y con menos fricción desde la entrevista a la decisión de producto, a diferencia de las herramientas tradicionales.
EXPLAINER.md
InsightLoop AI — User Interview Analysis Platform
Concept
InsightLoop AI eliminates the manual grind of user research synthesis. Product managers and UX researchers upload interview recordings; the platform transcribes them with speaker diarization, runs LLM-powered thematic analysis, and surfaces actionable insights — pain points, feature requests, key quotes, and sentiment — across an entire body of interviews. The result: decisions based on evidence, not recollection.
Architecture
┌─────────────────────────────────────────────────────────────────┐
│ Spring Boot 4.0.4 │
│ │
│ AuthController ProjectController InterviewController │
│ InsightController │
│ │ │ │ │
│ AuthService ProjectService InterviewService │
│ │ │ InsightService │
│ │ │ │ │
│ UserRepository ProjectRepository InterviewRepository │
│ InsightRepository │
│ │ │
│ ┌────────────────────────────────── ┘ │
│ │ TranscriptionProcessingService │
│ │ (Virtual Thread per interview) │
│ │ │ │
│ │ ┌────────────┴────────────┐ │
│ │ ▼ ▼ │
│ TranscriptionClient LlmClient │
│ (AssemblyAI Feign) (OpenAI Feign) │
│ │ │ │
│ StorageService (S3/local) │ │
│ │ │
│ SecurityConfig + JwtAuthFilter + JwtUtil │
└─────────────────────────────────────────────────────────────────┘
│ │
AssemblyAI STT OpenAI GPT-4o
(diarized transcription) (insight extraction + summaries)
Tech Stack
| Layer | Technology |
|---|---|
| Runtime | Java 25, Virtual Threads |
| Framework | Spring Boot 4.0.4 / Spring Framework 7.x |
| Security | Spring Security 7 + JJWT 0.12.6 |
| Persistence | Spring Data JPA 4 + PostgreSQL |
| HTTP Clients | Spring Cloud OpenFeign 4.2.1 |
| JSON | Jackson 3 (tools.jackson.*) |
| Build | Maven |
Key Design Decisions
- Virtual Threads — each interview's transcription + analysis pipeline runs on a
Thread.ofVirtual()so HTTP calls to AssemblyAI and OpenAI never block carrier threads. - Stateless JWT — no session state; tokens carry the user's email as subject.
- Records for DTOs — all request/response types are Java Records; immutable by construction.
- Feign Clients — %%INLINE2%% and %%INLINE3%% declared as interfaces; implementation generated at runtime by Spring Cloud OpenFeign.
- RFC 9457 errors — %%INLINE4%% returns %%INLINE5%% JSON for all error cases.
Endpoints
Authentication (public)
| Method | Path | Description |
|---|---|---|
| %%INLINE6%% | %%INLINE7%% | Create account; returns JWT |
| %%INLINE8%% | %%INLINE9%% | Exchange credentials for JWT |
Projects (JWT required)
| Method | Path | Description |
|---|---|---|
| %%INLINE10%% | %%INLINE11%% | List authenticated user's projects |
| %%INLINE12%% | %%INLINE13%% | Create a project |
| %%INLINE14%% | %%INLINE15%% | Get one project |
| %%INLINE16%% | %%INLINE17%% | Update name/description |
| %%INLINE18%% | %%INLINE19%% | Delete project |
Interviews (JWT required)
| Method | Path | Description |
|---|---|---|
| %%INLINE20%% | %%INLINE21%% | Upload recording; fires async pipeline |
| %%INLINE22%% | %%INLINE23%% | Get interview + current status |
| %%INLINE24%% | %%INLINE25%% | List project's interviews |
Insights (JWT required)
| Method | Path | Description |
|---|---|---|
| %%INLINE26%% | %%INLINE27%% | All AI-extracted insights for a project |
| %%INLINE28%% | %%INLINE29%% | Aggregated dashboard + executive summary |
| %%INLINE30%% | %%INLINE31%% | Semantic search across transcripts |
Example: Upload an Interview
curl -X POST http://localhost:8080/api/interviews/upload \
-H "Authorization: Bearer <JWT>" \
-F "file=@interview.mp3" \
-F "projectId=<uuid>" \
-F "title=Customer Discovery Call - March"
Response (202 Accepted):
{
"interviewId": "a1b2c3d4-...",
"storageUrl": "https://storage.insightloop.ai/interviews/...",
"status": "PENDING_TRANSCRIPTION",
"message": "Interview uploaded successfully. Processing has started."
}
Example: Get Insights Dashboard
curl http://localhost:8080/api/projects/<uuid>/dashboard \
-H "Authorization: Bearer <JWT>"
Response:
{
"projectId": "...",
"projectName": "Q2 Discovery Research",
"totalInterviews": 8,
"completedInterviews": 6,
"insightsByType": {
"PAIN_POINT": 14,
"FEATURE_REQUEST": 9,
"THEME": 7,
"KEY_QUOTE": 12,
"SENTIMENT": 6
},
"topInsights": [...],
"executiveSummary": "Users consistently struggle with onboarding complexity..."
}
Example: Semantic Search
curl -X POST http://localhost:8080/api/search \
-H "Authorization: Bearer <JWT>" \
-H "Content-Type: application/json" \
-d '{"query": "pricing too expensive", "projectId": "<uuid>"}'
Interview Processing Pipeline
Upload file
│
▼
StorageService.upload() → returns storage URL
│
▼
Interview saved (status: PENDING_TRANSCRIPTION)
│
▼
Thread.ofVirtual().start() ─────────────────────────────────┐
│ │
│ TranscriptionClient.createTranscript(audioUrl) │
│ Poll until "completed" (max 5 min, 5s intervals) │
│ Save diarized transcript to Interview.transcript │
│ │
│ LlmClient.complete(prompt + transcript) │
│ Parse JSON response → List<Insight> │
│ Save all Insight records │
│ Status → COMPLETED │
└─────────────────────────────────────────────────────────┘
Business Analysis
Problem Size
Manual synthesis of user interviews costs large research teams 200–400 hours/quarter. At $80/hour loaded cost, that's $16,000–$32,000 per team per quarter — just in labor. InsightLoop replaces this with minutes of automated processing.Revenue Model (SaaS Tiers)
| Tier | Price | Interviews/month | Users |
|---|---|---|---|
| Starter | $49/mo | 5 hrs | 1 |
| Growth | $149/mo | 20 hrs | 5 |
| Pro | $399/mo | 60 hrs | unlimited |
| Enterprise | Custom | Custom | Custom |
Competitive Moat
- Diarized transcripts + LLM analysis in one pipeline (vs. separate tools)
- Project-scoped insight aggregation across multiple interviews
- Semantic search surfaces moments — not just summaries
- Structured JSON insights enable downstream integrations (Jira, Linear, Notion)
Key Metrics to Track (MVP)
- Time-to-first-insight (upload → COMPLETED)
- Insight acceptance rate (user bookmarks / edits vs. discards)
- MAU, weekly active projects
- Churn by tier
How to Run
Prerequisites
- Java 25
- PostgreSQL 15+ running locally
- AssemblyAI API key (https://www.assemblyai.com/)
- OpenAI API key (https://platform.openai.com/)
Configuration (application.yml additions)
spring:
datasource:
url: jdbc:postgresql://localhost:5432/insightloop
username: postgres
password: your_password
jpa:
hibernate:
ddl-auto: update
show-sql: false
insightloop:
jwt:
secret: <base64-encoded-secret-min-32-chars>
expiration-ms: 86400000
transcription:
base-url: https://api.assemblyai.com
api-key: YOUR_ASSEMBLYAI_KEY
llm:
base-url: https://api.openai.com
api-key: YOUR_OPENAI_KEY
model: gpt-4o
storage:
base-url: https://storage.insightloop.ai
local-dir: /tmp/insightloop-uploads
Build & Run
# Compile
mvn clean compile
# Run
mvn spring-boot:run
# Or package and run
mvn clean package -DskipTests
java -jar target/insightloop-ai-api-0.0.1-SNAPSHOT.jar
Quick Smoke Test
# 1. Register
curl -X POST http://localhost:8080/api/auth/register \
-H "Content-Type: application/json" \
-d '{"name":"Alice","email":"alice@example.com","password":"secret123"}'
# 2. Create project
curl -X POST http://localhost:8080/api/projects \
-H "Authorization: Bearer <TOKEN>" \
-H "Content-Type: application/json" \
-d '{"name":"Q2 Discovery","description":"Customer interviews for v2 roadmap"}'
# 3. Upload interview
curl -X POST http://localhost:8080/api/interviews/upload \
-H "Authorization: Bearer <TOKEN>" \
-F "file=@interview.mp3" \
-F "projectId=<PROJECT_ID>" \
-F "title=Call with Sarah"
# 4. Poll status
curl http://localhost:8080/api/interviews/<INTERVIEW_ID> \
-H "Authorization: Bearer <TOKEN>"
# 5. Get dashboard (after status = COMPLETED)
curl http://localhost:8080/api/projects/<PROJECT_ID>/dashboard \
-H "Authorization: Bearer <TOKEN>"
References
- AI SaaS Startup Ideas 2026 — WeArePresta
- AssemblyAI API Docs
- OpenAI Chat Completions API
- Spring Boot 4.0 Reference
- Spring Cloud OpenFeign
- JJWT 0.12.x Migration Guide
Análisis FinOps para InsightLoop AI
Estimación de Costos Operativos Mensuales (MVP)
Para una fase inicial de MVP, asumiendo una base de 10 clientes que procesan un promedio de 5 horas de entrevistas cada uno (total 50 horas/mes):
- Servicios de IA (LLM y Transcripción):
- Infraestructura Cloud (AWS Baseline):
- Costo Operativo Total Mensual: $25 (AI Services) + $45 (Infraestructura) = $70/mes
Estimación de Ingresos Mensuales (MVP)
Considerando el modelo de monetización SaaS basado en horas procesadas y usuarios:
- Pricing Hipotético:
- Escenario MVP: Asumiendo 10 clientes en promedio, con una mezcla de planes que resulta en un ingreso promedio de $50/cliente/mes.
Margen de Beneficio
- Ingresos: $500
- Costos: $70
- Beneficio: $500 - $70 = $430
Optimización de Costos (FinOps)
Para mantener un alto margen de beneficio y escalar de manera eficiente, InsightLoop AI puede implementar las siguientes estrategias de FinOps:
- Optimización de Modelos LLM: Implementar lógica para seleccionar dinámicamente el modelo LLM más costo-efectivo para cada tarea. Por ejemplo, usar GPT-4o-mini para extracciones de datos simples o categorización, y reservar el más potente (y caro) GPT-4o para el análisis cualitativo profundo y la generación de resúmenes ejecutivos.
- Caché Inteligente de Respuestas: Desarrollar un sistema de caché para almacenar y reutilizar las respuestas de LLM a prompts idénticos o muy similares. Esto es especialmente útil para análisis de segmentos de texto repetidos o para consultas comunes en el dashboard.
- Refinamiento de Prompts: Iterar y optimizar los prompts de ingeniería para el LLM, buscando la máxima eficiencia en la extracción de insights con el menor número de tokens de entrada y salida posible.
- Procesamiento Asíncrono y en Lotes: Aprovechar la arquitectura asíncrona de Spring Boot con Virtual Threads para procesar transcripciones y análisis durante períodos de baja demanda. Esto podría permitir el uso de instancias de cómputo más económicas (ej. AWS Spot Instances) o la optimización de los recursos existentes.
- Tiering de Almacenamiento: Implementar políticas de ciclo de vida en S3 para mover grabaciones de audio/video y transcripciones a clases de almacenamiento más frías (ej. S3 Intelligent-Tiering, S3 Glacier) después de un período de tiempo, reduciendo los costos de almacenamiento a largo plazo.
- Monitoreo y Alertas de Costos: Configurar dashboards de costos y alertas en la plataforma cloud (ej. AWS Cost Explorer, CloudWatch Alarms) para detectar y reaccionar rápidamente a cualquier aumento inesperado en el gasto, especialmente en el uso de APIs de terceros y LLMs.
- Evaluación Continua de Proveedores de API: Investigar y comparar periódicamente los costos y la calidad de servicios de Speech-to-Text y LLMs alternativos para asegurar que se están utilizando las opciones más competitivas.
MVP FEATURES
- 01Carga segura de grabaciones de entrevistas de usuario (audio/video).
- 02Transcripción automática de alta precisión con diferenciación de hablantes (diarización).
- 03Análisis temático impulsado por IA para identificar automáticamente patrones, puntos de dolor, solicitudes de funciones y sentimientos clave a través de múltiples entrevistas.
- 04Dashboard de visualización de insights agregados con resúmenes ejecutivos generados por IA.
- 05Búsqueda semántica en todas las transcripciones para encontrar momentos específicos.
“Convierte horas de entrevistas en insights de producto accionables en minutos.”
Prueba la API y explora el dashboard para ver InsightLoop AI en acción y planificar nuestro lanzamiento.
LexiGuard AI
87LexiGuard AI revoluciona la creación de contenido para industrias reguladas, permitiendo a equipos de marketing y cumplimiento generar textos conformes al instante y con riesgo cero. Con un sólido Health Score del 87% y una UX del 91%, nuestra solución elimina errores costosos, acelera la agilidad del negocio y asegura auditorías impecables.
CompliWrite AI
86CompliWrite AI automatiza la creación de contenido y garantiza el cumplimiento normativo en tiempo real para equipos de marketing y cumplimiento en industrias reguladas como FinTech y Pharma. Con un Health Score del 87% y un margen de beneficio del 91%, la solución reduce drásticamente los ciclos de revisión legal y el riesgo de multas, mientras que su API ofrece una UX robusta (86%) y alta escalabilidad (95%).
ClauseCraft AI
85ClauseCraft AI automatiza la revisión de contratos para equipos legales en PYMES y startups, liberándolos para el trabajo estratégico. Con una calidad de código sólida (Health Score 87%) y una UX consistente (85%), ofrecemos una solución escalable y rentable (Profit Margin 88%) que optimiza flujos de trabajo legales.