2026-05-21 · DATA ROOM

Taskweaver Ai

Ship Spring Boot APIs at the speed of thought

shareX / TwitterLinkedInWhatsApp
Run Cost: $0.0034Market: $4.2B global low-code/no-code market by 2028
IP available for acquisition · Potential score 74/100ACQUIRE IP →

ELEVATOR PITCH

AI-powered code generation platform that transforms natural language into production-ready Spring Boot microservices in seconds.

VALUE PROPOSITION

10x faster backend development by eliminating boilerplate and automating architecture decisions.

EXPLAINER.md

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

TaskWeaver AI — EXPLAINER

Concepto

TaskWeaver AI es un motor de flujos de trabajo autónomos para equipos de operaciones, marketing y ventas en pymes (10-250 empleados) que quieren automatizar procesos multi-SaaS sin escribir código. El usuario describe el proceso en lenguaje natural; la IA genera un plan estructurado de ejecución, lo persiste y lo lanza en hilos virtuales de Java 25.


Arquitectura

┌──────────────────────────────────────────────────────────────────┐
│                         REST API (Spring Boot 4 / SB4)           │
│  AuthController  WorkflowController  ConnectorController  Dash   │
└──────────┬───────────────┬──────────────────┬────────────────────┘
           │               │                  │
    AuthService    WorkflowService     ConnectorService   DashboardService
           │               │                  │
           │     WorkflowPlannerService ←→ OpenAI/GPT-4o (RestClient)
           │     WorkflowExecutionService
           │           └─ ExecutorService (VirtualThread per task)
           │                    │
           │     ┌──────────────┴─────────────────────┐
           │     │ Feign Clients (Spring Cloud OpenFeign)│
           │     │  HubSpotClient  SlackClient          │
           │     │  SalesforceClient                    │
           │     └─────────────────────────────────────┘
           │
    EncryptionService (AES-256-GCM)
           │
    Spring Data JPA  ──► H2 (dev) / PostgreSQL (prod)
      User  Workflow  ExecutionLog  AppConnection

Capas

CapaResponsabilidad
controllerREST endpoints, binding HTTP ↔ DTO
serviceLógica de negocio, orquestación
repositorySpring Data JPA, queries JPQL
modelEntidades Jakarta Persistence
dtoRecords Java 25 — contratos API inmutables
securityJWT filter, UserDetailsService, token provider
configSecurityConfig, FeignConfig, VirtualThreadConfig, RestClientConfig
feignInterfaces Feign para HubSpot, Salesforce, Slack
exceptionGlobalExceptionHandler, WorkflowException

Endpoints

Auth (público)

POST /api/v1/auth/register
Body: { "email": "...", "password": "...", "name": "..." }
→ 201 { token, email, name, plan }

POST /api/v1/auth/login
Body: { "email": "...", "password": "..." }
→ 200 { token, email, name, plan }

Workflows (JWT requerido — Authorization: Bearer <token>)

POST   /api/v1/workflows
Body: { "name": "Lead a Slack", "description": "Al recibir lead de HubSpot notificar #ventas en Slack" }
→ 201 { id, name, description, status, planJson, createdAt, updatedAt }

GET    /api/v1/workflows
→ 200 [ WorkflowResponse... ]

GET    /api/v1/workflows/{id}
→ 200 WorkflowResponse

POST   /api/v1/workflows/{id}/execute
→ 202 (ejecución asíncrona iniciada; poll /executions)

GET    /api/v1/workflows/{id}/executions
→ 200 [ ExecutionLogResponse... ]   ← historial con stepLogsJson

DELETE /api/v1/workflows/{id}
→ 204

Conectores

POST   /api/v1/connectors
Body: { "appType": "SLACK", "connectorName": "Slack Ventas", "accessToken": "xoxb-...", "refreshToken": null }
→ 201 ConnectorResponse (tokens nunca devueltos)

GET    /api/v1/connectors
→ 200 [ ConnectorResponse... ]

DELETE /api/v1/connectors/{id}
→ 204

Dashboard

GET /api/v1/dashboard
→ 200 { totalWorkflows, activeWorkflows, totalExecutions,
         successfulExecutions, failedExecutions, connectedApps }

Motor de Ejecución Autónomo

WorkflowService.triggerExecution()
    └─► WorkflowExecutionService.executeAsync()
            └─► CompletableFuture.supplyAsync(task, virtualThreadExecutor)
                    ├─ Resuelve plan JSON (cache o re-planifica)
                    ├─ Por cada WorkflowPlanStep:
                    │    └─ dispatchStep() → switch(connector) → Feign client call
                    └─ Persiste ExecutionLog con stepLogsJson + status
  • Executors.newVirtualThreadPerTaskExecutor() — un hilo virtual por tarea,
ideal para I/O-bound paralelo (llamadas LLM + APIs externas).
  • Cada paso registra timestamp + resultado en el log para trazabilidad completa.
  • Planner con fallback offline: si no hay openai.api-key, el planner basado
en palabras clave extrae conectores del texto y genera pasos plausibles.

Seguridad

AspectoImplementación
Autenticación APIJWT HMAC-SHA256 (JJWT 0.12.6), exp 24h
ContraseñasBCrypt (factor 10)
Tokens OAuth2 en BDAES-256-GCM con IV aleatorio por cifrado
SesiónSTATELESS (sin HttpSession)
CSRFDesactivado (API sin estado)

Análisis de Negocio

Problema atacado

Equipos RevOps / MarketingOps dedican ~30 % de su tiempo a tareas de integración manual entre HubSpot ↔ Salesforce ↔ Slack ↔ Gmail. Herramientas como Zapier son frágiles, no manejan ambigüedad y requieren configuración técnica. ROI claro: 10 h/semana ahorradas × €40/h = €400/semana por equipo.

Modelo de monetización (Freemium B2B SaaS)

PlanPrecioLímites
Free€050 ejecuciones/mes, 2 conectores
Pro€49/mes5 000 ejecuciones, 10 conectores, lógica condicional
Enterprise€199/mesIlimitado, SLA, SSO, audit log

Ventaja competitiva

  • Agente autónomo vs. reglas rígidas → maneja variaciones reales
  • Especialización vertical (RevOps) antes de expandir horizontalmente
  • Planner LLM intercambiable (OpenAI → Anthropic Claude → local Llama)

Conectores Soportados

AppFeign ClientOperaciones MVP
HubSpot%%INLINE12%%%%INLINE13%%, %%INLINE14%%, %%INLINE15%%
Salesforce%%INLINE16%%%%INLINE17%%, QUERY
Slack%%INLINE19%%%%INLINE20%%
Gmail(próximo)SEND_EMAIL
Google Sheets(próximo)APPEND_ROW

Cómo ejecutar

Requisitos

  • Java 25+
  • Maven 3.9+
  • (Opcional) OPENAI_API_KEY para planner LLM real

Desarrollo con H2 (sin configuración extra)

cd solutions/2026-05-21-taskweaver-ai
mvn spring-boot:run
# Servidor en http://localhost:8080

Con OpenAI

mvn spring-boot:run \
  -Dspring-boot.run.jvmArguments="-Dopenai.api-key=sk-..."

Con PostgreSQL

# src/main/resources/application-prod.yml
spring:
  datasource:
    url: jdbc:postgresql://localhost:5432/taskweaver
    username: tw_user
    password: tw_pass
  jpa:
    hibernate:
      ddl-auto: update
mvn spring-boot:run -Dspring.profiles.active=prod

Flujo rápido de prueba

# 1. Registro
curl -X POST http://localhost:8080/api/v1/auth/register \
  -H "Content-Type: application/json" \
  -d '{"email":"ops@acme.com","password":"secret123","name":"Ana Ops"}'

# 2. Login → guardar token
TOKEN=$(curl -s -X POST http://localhost:8080/api/v1/auth/login \
  -H "Content-Type: application/json" \
  -d '{"email":"ops@acme.com","password":"secret123"}' \
  | jq -r '.data.token')

# 3. Crear flujo de trabajo con lenguaje natural
curl -X POST http://localhost:8080/api/v1/workflows \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Lead enrichment pipeline",
    "description": "Al recibir nuevo lead de HubSpot, si la empresa tiene más de 50 empleados crear oportunidad en Salesforce y notificar el canal #ventas en Slack"
  }'

# 4. Ejecutar el flujo (id=1)
curl -X POST http://localhost:8080/api/v1/workflows/1/execute \
  -H "Authorization: Bearer $TOKEN"

# 5. Ver historial de ejecuciones
curl http://localhost:8080/api/v1/workflows/1/executions \
  -H "Authorization: Bearer $TOKEN"

# 6. Dashboard de métricas
curl http://localhost:8080/api/v1/dashboard \
  -H "Authorization: Bearer $TOKEN"

Referencias

  • AI SaaS 2026 — Building Products That Think
  • Spring Boot 4.0.4 — https://spring.io/projects/spring-boot
  • JJWT 0.12.x — https://github.com/jwtk/jjwt
  • Spring Cloud OpenFeign 4.2.1 — https://spring.io/projects/spring-cloud-openfeign
  • OpenAI Chat Completions API — https://platform.openai.com/docs/api-reference/chat

Generado por Forge-AI — 2026-05-21

MVP FEATURES

  • 01Natural language to REST endpoint generator
  • 02JPA entity scaffolding
  • 03OpenAPI spec auto-generation
  • 04Docker Compose export

The AI that speaks fluent Java

Start Building Free

Related Startups