2026-06-09 · DATA ROOM
ProspectIQ
IA que transforma LinkedIn en ventas B2B.
ELEVATOR PITCH
ProspectIQ automatiza la generación de mensajes ultra-personalizados para LinkedIn, liberando a los equipos de ventas B2B de la prospección manual. Con un Health Score del 87% y un margen de beneficio del 78%, esta solución escalable (95%) está lista para transformar la forma en que se consiguen leads.
VALUE PROPOSITION
Nuestra ventaja radica en la simplicidad y una ingeniería de prompts superior, generando mensajes ultra-personalizados que convierten perfiles de LinkedIn en conversaciones de venta de alta calidad, superando el tono genérico de otras IA.
EXPLAINER.md
ProspectIQ API — Explainer
Concepto
ProspectIQ automatiza el outreach B2B en LinkedIn mediante IA. Los equipos de ventas añaden perfiles de LinkedIn a campañas; el sistema extrae el perfil, construye un prompt contextualizado y genera múltiples borradores de mensaje personalizados mediante un LLM (OpenAI GPT-4o-mini por defecto, configurable).
Inspirado en Aimfox.
Arquitectura
┌─────────────────────────────────────────────────┐
│ Spring Boot 4.0.4 │
│ Java 25 / JVM │
│ │
│ AuthController ─────► AuthService │
│ CampaignController ──► CampaignService │
│ └──► ProspectingService │
│ UserController ─────► UserService │
│ │
│ ProspectingService: │
│ 1. LinkedInProfileExtractor (mock/API) │
│ 2. LlmService ──► LlmClient (Feign) │
│ → OpenAI /v1/chat/completions │
│ 3. Virtual Thread (I/O non-blocking) │
│ │
│ Spring Security 7 (JWT Stateless) │
│ Spring Data JPA + H2 (dev) / PostgreSQL (prod) │
└─────────────────────────────────────────────────┘
Capas:
| Capa | Paquete | Responsabilidad |
|---|---|---|
| Controller | controller/ | HTTP routing, validación entrada |
| Service | service/ | Lógica de negocio |
| Repository | repository/ | Spring Data JPA |
| Model | model/ | Entidades JPA + enums |
| DTO | dto/ | Java Records (inmutables) |
| Security | security/ | JWT filter + UserDetails |
| Client | client/ | Feign → OpenAI API |
Endpoints
Auth — /api/auth
| Method | Path | Auth | Body | Descripción |
|---|---|---|---|---|
| %%INLINE8%% | %%INLINE9%% | ❌ | RegisterRequest | Registro de usuario → devuelve JWT |
| %%INLINE11%% | %%INLINE12%% | ❌ | LoginRequest | Login → devuelve JWT |
Users — /api/users
| Method | Path | Auth | Descripción |
|---|---|---|---|
| %%INLINE15%% | %%INLINE16%% | ✅ | Perfil del usuario autenticado |
| %%INLINE17%% | %%INLINE18%% | ✅ | Upgrade subscription tier |
Campaigns — /api/campaigns
| Method | Path | Auth | Descripción |
|---|---|---|---|
| %%INLINE20%% | %%INLINE21%% | ✅ | Crear campaña |
| %%INLINE22%% | %%INLINE23%% | ✅ | Listar campañas del usuario |
| %%INLINE24%% | %%INLINE25%% | ✅ | Detalle de campaña + prospectos |
| %%INLINE26%% | %%INLINE27%% | ✅ | Actualizar campaña |
| %%INLINE28%% | %%INLINE29%% | ✅ | Eliminar campaña |
| %%INLINE30%% | %%INLINE31%% | ✅ | Añadir prospecto → genera mensajes (async, HTTP 202) |
| %%INLINE32%% | %%INLINE33%% | ✅ | Ver prospecto + borradores generados |
Authorization: Bearer <token> en todas las rutas protegidas.
Flujo de Generación de Mensajes
POST /api/campaigns/{id}/prospects
{ "linkedinUrl": "https://linkedin.com/in/john-doe" }
→ HTTP 202 Accepted { "id": 1, "status": "PENDING", ... }
[Virtual Thread]
1. LinkedInProfileExtractor.extract(url) ← mock / scraping API
2. LlmService.generateMessages(profile, objective, productDesc, 3)
→ LlmClient.chat(request) ← OpenAI API
3. Persiste 3 × GeneratedMessage en BD
4. Prospect.status = COMPLETED
GET /api/campaigns/{id}/prospects/1
→ { "status": "COMPLETED", "messages": [ {...}, {...}, {...} ] }
Modelos de Dominio
User (1) ──── (N) Campaign (1) ──── (N) Prospect (1) ──── (N) GeneratedMessage
- User: email, password (BCrypt), firstName, lastName, subscriptionTier, analysisUsedThisMonth
- Campaign: name, objective, productDescription, owner (User)
- Prospect: linkedinUrl, profileData, status (PENDING→PROCESSING→COMPLETED|FAILED)
- GeneratedMessage: content, messageIndex, prospect
Monetización
| Tier | Análisis/mes | Precio sugerido |
|---|---|---|
| STARTER | 50 | $29/mes |
| PRO | 300 | $99/mes |
| BUSINESS | Ilimitado | $299/mes |
POST /api/campaigns/{id}/prospects consume 1 análisis.
Al superar la cuota → HTTP 409 con mensaje de upgrade.
Cómo Ejecutar
Prerrequisitos
- Java 25+
- Maven 3.9+
Dev (H2 in-memory)
cd solutions/2026-06-09-prospect-iq-api
mvn spring-boot:run
# API disponible en http://localhost:8080
Con OpenAI real
APP_LLM_API_KEY=sk-... mvn spring-boot:run
Con PostgreSQL
Añadir a application.yml (o via env vars):
spring:
datasource:
url: jdbc:postgresql://localhost:5432/prospectiq
username: postgres
password: secret
jpa:
hibernate:
ddl-auto: update
app:
jwt-secret: "my-production-secret-key-min-32-chars"
llm-api-key: "sk-..."
Ejemplo de uso con curl
# 1. Registrar usuario
curl -X POST http://localhost:8080/api/auth/register \
-H "Content-Type: application/json" \
-d '{"email":"demo@prospectiq.ai","password":"demo1234","firstName":"Demo","lastName":"User"}'
# 2. Login → obtener token
TOKEN=$(curl -s -X POST http://localhost:8080/api/auth/login \
-H "Content-Type: application/json" \
-d '{"email":"demo@prospectiq.ai","password":"demo1234"}' | grep -o '"token":"[^"]*"' | cut -d'"' -f4)
# 3. Crear campaña
curl -X POST http://localhost:8080/api/campaigns \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"name":"Q3 SaaS Outreach","objective":"schedule a product demo","productDescription":"AI-powered sales automation tool that saves 10h/week"}'
# 4. Añadir prospecto → dispara generación IA
curl -X POST http://localhost:8080/api/campaigns/1/prospects \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"linkedinUrl":"https://linkedin.com/in/john-doe"}'
# 5. Ver mensajes generados
curl http://localhost:8080/api/campaigns/1/prospects/1 \
-H "Authorization: Bearer $TOKEN"
Referencias
- Aimfox — Product Hunt Dec 2024
- Spring Boot 4.0 Reference
- Spring Security 7 Reference
- OpenAI Chat Completions API
- JJWT 0.12.x Migration Guide
Análisis de Negocio
Problema real, mercado masivo. Los BDRs gastan 30–40% de su tiempo en prospección manual. Un equipo de 5 BDRs ahorra ~20h/semana → ROI claro en el nivel PRO ($99/mes).
Ventaja competitiva sostenible. El LLM personaliza en función del perfil real: experiencia laboral, publicaciones recientes, habilidades. La tasa de respuesta sube de ~5% (mensaje genérico) a ~15-25% (mensaje ultra-personalizado, según estudios de vendors similares).
Riesgos mitigados en el MVP:
- ToS LinkedIn: se integra con proveedores de scraping conformes (ProxyCurl, Nubela)
- Coste LLM:
gpt-4o-minia $0.15/1M tokens → análisis completo ≈ $0.002/prospecto.
- Lock-in: arquitectura con
LlmClientintercambiable soporta Anthropic Claude,
Análisis FinOps para ProspectIQ
Resumen de Costos y Rentabilidad
ProspectIQ, como micro-startup de IA, presenta un modelo de negocio con un margen de beneficio saludable desde sus etapas iniciales, principalmente debido a la eficiencia de los modelos LLM modernos y una estructura de costos de infraestructura lean. Se estima un margen de beneficio del 78% con una base inicial de 25 clientes.
Desglose de Costos Mensuales Estimados (~$251.62):
- APIs Externas: ~$211.62
- Infraestructura Cloud (AWS): ~$35
- Monitoring/Otros: ~$5 (Costos básicos de logs y métricas).
Con un promedio de 25 clientes pagando $45/mes (una mezcla de planes 'Starter' y 'Pro'), los ingresos mensuales se estiman en $1125.
Estrategias de Optimización FinOps
Para mantener y mejorar este margen a medida que la startup crece, se proponen las siguientes optimizaciones:
- Optimización del Uso de la API de Scraping de LinkedIn:
- Gestión Eficiente del Uso de LLM:
gpt-4o-mini es muy económico, a medida que la startup evolucione, evaluar si modelos más pequeños y especializados (ej. modelos de código abierto finetuneados para tareas de prospección) podrían ofrecer una relación coste/rendimiento aún mejor, potencialmente ejecutados en infraestructura propia o con proveedores de inferencia más competitivos.
* Batch Processing (si aplica): Para ciertos tipos de análisis menos sensibles al tiempo, considerar el procesamiento por lotes durante horas de menor demanda para aprovechar posibles descuentos o una utilización más eficiente de recursos.
- Optimización de la Infraestructura Cloud:
- Modelo de Monetización y Pricing:
Implementando estas estrategias FinOps, ProspectIQ puede asegurar una base de costos eficiente y mantener su alta rentabilidad a medida que escala.
MVP FEATURES
- 01Análisis de Perfil de LinkedIn: El sistema ingiere la URL de un perfil público de LinkedIn y extrae información clave como la experiencia laboral, habilidades, publicaciones recientes e intereses.
- 02Generación de Mensajes Personalizados: Usando un LLM, genera múltiples borradores de mensajes de conexión o de seguimiento basados en el perfil analizado y el objetivo de la campaña definido por el usuario (ej. 'agendar una demo', 'ofrecer colaboración').
- 03Dashboard de Campañas Sencillo: Una interfaz web para que los usuarios puedan crear campañas, añadir listas de perfiles de LinkedIn, y ver los mensajes generados para cada prospecto.
- 04Contexto de Usuario y Objetivo de Campaña: Permite al usuario introducir información sobre su propio producto/servicio y el objetivo final de la campaña para guiar el tono y contenido de los mensajes generados por la IA.
- 05Gestión de Cuentas de Usuario: Funcionalidad básica para el registro, inicio de sesión y gestión de perfiles de usuario de forma segura.
“Transforma perfiles de LinkedIn en conversaciones de venta con IA.”
Revisar el código y la API para optimizar los puntos críticos identificados en la UX y el veredicto de SharkTank.
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%).
BrandVoice AI
84BrandVoice AI permite a equipos de marketing B2B generar contenido hiper-personalizado que se adhiere perfectamente a la voz de su marca, eliminando la edición manual. Con un Health Score del 87% y un margen de beneficio del 88%, nuestra API ofrece calidad y eficiencia probadas. La UX de la API, con un 85%, facilita una integración robusta y consistente.