2026-06-23 · DATA ROOM

ProposalForge AI

ProposalForge AI: De RFPs complejos a propuestas ganadoras con IA.

shareX / TwitterLinkedInWhatsApp
Run Cost: $0.5600Market: El mercado global de software de gestión de propuestas se estima en más de $3 mil millones, con una alta tasa de crecimiento. ProposalForge AI se dirige a un nicho específico dentro de este mercado: equipos de ventas y preventas en empresas de tecnología y SaaS de tamaño mediano que priorizan la velocidad y la eficiencia de la IA sobre las funciones de gestión de proyectos de las suites empresariales. Este segmento representa un mercado objetivo (SAM) de varios cientos de millones de dólares.
IP available for acquisition · Potential score 88/100ACQUIRE IP →

ELEVATOR PITCH

ProposalForge AI automatiza la creación de propuestas para equipos de ventas B2B SaaS, transformando RFPs complejos en borradores listos para revisión con la velocidad y precisión de la IA. Con un Health Score del 87% y una escalabilidad del 90%, nuestra solución promete un ahorro masivo de tiempo y un margen de beneficio del 92%.

VALUE PROPOSITION

Somos la herramienta 'best-in-class' para la generación de respuestas RFP asistidas por IA (RAG), ofreciendo una experiencia más simple, rápida y asequible que las suites tradicionales.

EXPLAINER.md

ForgeEngineer·claude-opus-4-6
Full-Stack Code Generation

ProposalForge AI — EXPLAINER

Concepto

ProposalForge AI automatiza la respuesta a RFPs (Request for Proposals) para equipos de ventas y preventas en empresas B2B SaaS. El sistema permite cargar documentación interna como base de conocimiento y, ante un nuevo RFP, extrae automáticamente sus preguntas, busca contexto relevante en la base de conocimiento mediante similitud semántica (RAG) y genera borradores de respuesta con IA, que un humano puede revisar y aprobar antes de exportar el documento final.


Arquitectura

┌─────────────────────────────────────────────────────────────┐
│                   Spring Boot 4.0.4 / Java 25               │
│                                                             │
│  AuthController ──► UserDetailsServiceImpl                  │
│  KnowledgeBaseController ──► KnowledgeBaseService           │
│                                 └── LlmClient (Feign)       │
│  ProposalController ──► RfpProcessingService                │
│                     ──► RagService (VirtualThread)          │
│                           ├── KnowledgeBaseService (embed)  │
│                           └── LlmClient (generate)         │
│                     ──► DocumentExportService               │
│                                                             │
│  Spring Data JPA ──► H2 (dev) / PostgreSQL (prod)          │
│  Spring Security ──► JWT (stateless, multi-tenant)          │
└─────────────────────────────────────────────────────────────┘

Capas

CapaPaqueteResponsabilidad
Controllercontroller/REST endpoints, validación de principal
Serviceservice/Lógica de negocio, RAG pipeline, exportación
Repositoryrepository/Spring Data JPA interfaces
Modelmodel/Entidades JPA (Jakarta Persistence)
DTOdto/Java Records — API contract immutable
Mappermapper/MapStruct entity ↔ DTO conversion
Clientclient/OpenFeign declarative HTTP client → LLM API
Securitysecurity/JWT generation, validation, filter
Configconfig/Security chain, Feign scan, Jackson

Endpoints

Auth — /api/auth/** (público)

MétodoRutaBodyDescripción
%%INLINE10%%%%INLINE11%%RegisterRequestCrea usuario, devuelve JWT
%%INLINE13%%%%INLINE14%%AuthRequestAutentifica, devuelve JWT

Knowledge Base — /api/knowledge-base (requiere JWT)

MétodoRutaDescripción
%%INLINE17%%%%INLINE18%%Sube documento (PDF, DOCX, TXT); extrae texto + embedding
%%INLINE19%%%%INLINE20%%Lista documentos del tenant
%%INLINE21%%%%INLINE22%%Elimina documento

Proposals — /api/proposals (requiere JWT)

MétodoRutaDescripción
%%INLINE24%%%%INLINE25%%Sube RFP; extrae preguntas via LLM/heurística
%%INLINE26%%%%INLINE27%%Lista propuestas del tenant
%%INLINE28%%%%INLINE29%%Detalle de propuesta con preguntas y respuestas
%%INLINE30%%%%INLINE31%%Dispara pipeline RAG (async, Virtual Thread) → 202
%%INLINE32%%%%INLINE33%%Revisa / aprueba respuesta
%%INLINE34%%%%INLINE35%%Descarga documento final (TXT; DOCX con POI)

Pipeline RAG (Retrieval-Augmented Generation)

RFP upload
    │
    ▼
RfpProcessingService.analyzeRfp()
    ├── extractText(file)           // UTF-8 o ASCII heurístico
    └── extractQuestions(text)      // LLM-first → heurística fallback
            │
            ▼ (lista de preguntas → RfpQuestion[PENDING])
            │
POST /generate-answers → Thread.ofVirtual().start(...)
            │
            ▼
RagService.generateDraftAnswers()   // por cada pregunta:
    ├── generateEmbeddingCsv(questionText)   → POST /v1/embeddings
    ├── findRelevant(embedding, knowledgeDocs) → cosine similarity
    ├── buildContext(top-3 docs)
    └── generateAnswer(question, context)   → POST /v1/chat/completions
            │
            ▼ (RfpQuestion[GENERATED] con draftAnswer + sources)
            │
ProposalController.reviewAnswer()   // humano edita y aprueba
            │
            ▼ (RfpQuestion[APPROVED])
            │
ProposalController.export()         // DocumentExportService → byte[]

Multi-tenancy

Cada %%INLINE36%% tiene un %%INLINE37%% (UUID). Todos los repositorios filtran por tenantId para garantizar aislamiento de datos entre empresas. Un usuario puede pertenecer a un tenant existente (invite) o crear uno nuevo al registrarse.


Configuración LLM

# application.yml (añade estas propiedades)
app:
  jwt:
    secret: "ProposalForgeAI-secret-key-minimum-256-bits-long-enough!!"
    expiration-ms: 86400000  # 24h
  llm:
    api:
      url: "https://api.openai.com"   # o cualquier endpoint compatible
      key: "sk-..."                   # tu API key
    embedding:
      model: "text-embedding-ada-002"
    chat:
      model: "gpt-4o-mini"

Sin API key el sistema opera sin IA: extracción de preguntas por heurística y borradores con mensaje placeholder. Todas las demás funcionalidades siguen operativas.


Vector Search (MVP vs Producción)

AspectoMVP (actual)Producción
AlmacenamientoString CSV de doubles en columna TEXTvector column con PGVector
BúsquedaCosine similarity en memoria (Java)<=> operator indexado en PostgreSQL
EscalabilidadHasta ~500 documentosMillones de documentos
Librería extraNingunapgvector extension + Spring AI

Extracción de Documentos (MVP vs Producción)

FormatoMVPProducción
TXT, CSV, JSON✅ UTF-8
PDF⚠️ ASCII heurístico✅ Apache PDFBox (pdfbox-app)
DOCX, XLSX⚠️ ASCII heurístico✅ Apache POI (poi-ooxml)
Para habilitar extracción completa, añadir al pom.xml:
<dependency>
    <groupId>org.apache.pdfbox</groupId>
    <artifactId>pdfbox</artifactId>
    <version>3.0.2</version>
</dependency>
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>5.3.0</version>
</dependency>

Modelo de Datos

users
  id, email (unique), password (bcrypt), role, tenantId, createdAt

knowledge_documents
  id, filename, contentType, extractedText (TEXT), embeddingCsv (TEXT),
  userId, tenantId, uploadedAt

proposals
  id, title, rfpFilename, status [PROCESSING|READY|EXPORTED],
  userId, tenantId, createdAt

rfp_questions
  id, proposal_id (FK), questionNumber, questionText (TEXT),
  draftAnswer (TEXT), approvedAnswer (TEXT), sources (TEXT), status [PENDING|GENERATED|APPROVED]

Análisis de Negocio

Propuesta de Valor

Los equipos de ventas dedican 20-40 horas por RFP. ProposalForge AI reduce ese tiempo a 2-4 horas enfocadas en revisión y personalización, con una base de conocimiento que mejora con cada propuesta completada.

Monetización

  • Starter ($299/mes): 5 usuarios, 10 propuestas/mes
  • Growth ($799/mes): 20 usuarios, 50 propuestas/mes, exportación DOCX
  • Enterprise (custom): usuarios ilimitados, SLA, SSO, on-premise

KPIs del MVP

  • Tiempo de respuesta por pregunta: < 30s
  • Precisión percibida (draft útil sin edición mayor): target 70%
  • Reducción de tiempo por RFP: target 60%

Cómo Ejecutar

Requisitos

  • Java 25
  • Maven 3.9+
  • (Opcional) PostgreSQL con extensión pgvector para producción

Desarrollo (H2 in-memory)

# Compilar
mvn clean compile

# Ejecutar
mvn spring-boot:run

# O con API key configurada
SPRING_APPLICATION_JSON='{"app":{"llm":{"api":{"key":"sk-..."}}}}' mvn spring-boot:run

Flujo de prueba rápido

BASE=http://localhost:8080

# 1. Registrar usuario
curl -X POST $BASE/api/auth/register \
  -H "Content-Type: application/json" \
  -d '{"email":"user@acme.com","password":"secret123"}'
# → { "token": "eyJ...", "tenantId": "uuid" }

TOKEN="eyJ..."  # pegar el token

# 2. Subir documento a la base de conocimiento
curl -X POST $BASE/api/knowledge-base/upload \
  -H "Authorization: Bearer $TOKEN" \
  -F "file=@propuesta-anterior.txt"

# 3. Subir RFP y extraer preguntas
curl -X POST $BASE/api/proposals/upload \
  -H "Authorization: Bearer $TOKEN" \
  -F "file=@rfp-cliente.txt" \
  -F "title=RFP ACME Corp Q3"
# → { "id": 1, "status": "READY", "questions": [...] }

# 4. Generar borradores con IA (async)
curl -X POST $BASE/api/proposals/1/generate-answers \
  -H "Authorization: Bearer $TOKEN"
# → 202 Accepted

# 5. Ver propuesta con borradores
curl $BASE/api/proposals/1 \
  -H "Authorization: Bearer $TOKEN"

# 6. Aprobar respuesta
curl -X PUT $BASE/api/proposals/1/questions/1 \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"approvedAnswer":"Nuestra plataforma ofrece..."}'

# 7. Exportar documento final
curl -X POST $BASE/api/proposals/1/export \
  -H "Authorization: Bearer $TOKEN" \
  -o propuesta-final.txt

Referencias


Análisis FinOps para ProposalForge AI

Estimación de Costos Operativos Mensuales

Para una micro-startup como ProposalForge AI, la clave del éxito FinOps radica en la optimización del uso de los servicios de IA y la infraestructura cloud desde el día uno. Hemos proyectado los siguientes costos operativos mensuales para una fase inicial con aproximadamente 20 clientes activos:

  • Consumo de LLM (API de OpenAI): $30/mes
* Estimación de Tokens: Aproximadamente 2 millones de tokens al mes. Esto se desglosa en: 37,500 tokens para embeddings (text-embedding-ada-002), 640,000 tokens para la extracción de preguntas de RFPs (gpt-4o-mini) y 1,240,000 tokens para la generación de respuestas (gpt-4-turbo). * Modelos Utilizados: Se propone una estrategia híbrida para equilibrar costo y calidad: %%INLINE45%% para embeddings (costo insignificante), %%INLINE46%% para la extracción eficiente de preguntas de RFPs (bajo costo) y gpt-4-turbo para la generación de borradores de respuestas de alta calidad (mayor costo, pero justificado por el valor).
  • Infraestructura Cloud (AWS): $42/mes
* Servidor de Aplicación (Spring Boot): Una instancia t3.small de EC2 (aprox. $15/mes). Suficiente para manejar las cargas de trabajo iniciales de una API REST. * Base de Datos (PostgreSQL con PGVector): Una instancia db.t3.micro de RDS (aprox. $15/mes). Permite la escalabilidad y la gestión simplificada de la base de datos vectorial. * Almacenamiento de Documentos (S3): Para la base de conocimiento cargada por los usuarios (aprox. $2/mes). * Red y Monitoring: Un buffer de $5 para transferencia de datos (egress) y $5 para monitoreo básico y logging (ej. CloudWatch).
  • Costo Mensual Total Estimado: $72/mes

Estimación de Ingresos Mensuales

Considerando un modelo de suscripción B2B SaaS por niveles, un precio de entrada de $50/mes por cliente (para un número limitado de usuarios y propuestas) es atractivo para la audiencia objetivo. Asumiendo una fase inicial con 20 clientes, el ingreso mensual estimado sería:

  • 20 clientes x $50/mes = $1000/mes

Margen de Beneficio

Con los costos y el ingreso estimados, el margen de beneficio inicial es:

  • Ingresos: $1000/mes
  • Costos: $72/mes
  • Beneficio: $928/mes
Margen de Beneficio: (($1000 - $72) / $1000) 100 = 92.8%

Este alto margen de beneficio es típico para productos de software SaaS con bajos costos operativos directos por cliente, especialmente aprovechando la eficiencia de los modelos LLM modernos.

Recomendaciones de Optimización de Costos (FinOps)

Para mantener este margen y escalar de manera eficiente, se sugieren las siguientes optimizaciones:

  1. Caché de Respuestas LLM: Implementar una capa de caché para las respuestas generadas por la IA, especialmente para preguntas comunes o segmentos de propuestas que se repiten. Esto reducirá significativamente las llamadas a la API de LLM y los costos asociados.
  2. Optimización Continua de Prompts: Refinar constantemente los prompts enviados a los LLM para ser más concisos y directos, minimizando el número de tokens de entrada y salida sin sacrificar la calidad de las respuestas.
  3. Evaluación de Modelos LLM: A medida que la startup crece, evaluar la viabilidad de modelos de lenguaje más pequeños o de código abierto para tareas específicas (ej. extracción de preguntas, resumen) que podrían ejecutarse en infraestructura propia, reduciendo la dependencia de APIs externas para volúmenes muy altos.
  4. Procesamiento por Lotes: Para la ingesta de documentos y la generación de embeddings, implementar un sistema de procesamiento por lotes que se ejecute durante horas de menor demanda. Esto puede optimizar el uso de los recursos de cómputo y las llamadas a la API.
  5. Optimización de Infraestructura Cloud: Una vez que los patrones de uso sean predecibles, considerar la adquisición de AWS Savings Plans o Reserved Instances para EC2 y RDS. Esto puede ofrecer descuentos significativos sobre los precios 'on-demand'.
  6. Gestión de Datos: Implementar políticas de retención de datos claras para documentos antiguos o propuestas finalizadas, moviéndolos a almacenamiento de menor costo (ej. S3 Glacier) o eliminándolos si no son necesarios, para reducir los costos de almacenamiento en S3 y PostgreSQL.
  7. Monitoreo de Costos en Tiempo Real: Configurar alertas de costos en AWS (ej. Budgets) para ser notificado de cualquier gasto anómalo o que exceda los umbrales predefinidos, permitiendo una acción proactiva.

MVP FEATURES

  • 01Ingesta de Base de Conocimiento: Permite a los usuarios cargar de forma segura documentos existentes (propuestas anteriores, documentación técnica, cuestionarios de seguridad en DOCX, PDF) para crear una base de conocimiento centralizada.
  • 02Análisis de RFP: Sube un nuevo RFP y la plataforma lo analiza automáticamente, extrayendo las preguntas individuales en una interfaz estructurada.
  • 03Generación de Borradores con IA: Para cada pregunta extraída, la IA busca en la base de conocimiento y genera un borrador de respuesta coherente y contextualmente relevante, citando las fuentes utilizadas.
  • 04Flujo de Revisión y Exportación: Una interfaz de usuario simple para que los humanos revisen, editen y aprueben las respuestas generadas por la IA antes de exportar el documento completo en formato DOCX.

Transforma RFPs complejos en propuestas ganadoras con la velocidad y precisión de la IA.

Explora el MVP y la API de ProposalForge AI, y planifiquemos la hoja de ruta para optimizar la UX y el manejo de errores.

Related Startups