2026-07-29 · DATA ROOM
Personaflow Ai
Ship Spring Boot APIs at the speed of thought
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
PersonaFlow AI
1. Concepto
Plataforma SaaS B2B de hiper-personalización de email marketing. Pymes y startups de e-commerce/SaaS ingieren eventos de comportamiento de sus clientes (API o CSV), un motor de IA los agrupa en micro-segmentos dinámicos ("compradores de alta frecuencia", "riesgo de abandono", "abandonaron carrito"...), un generador de contenido produce asunto + cuerpo de email personalizado por segmento/cliente, y un dashboard mide apertura, CTR y conversión por campaña y segmento para demostrar ROI.
Monetización: SaaS tiered por número de contactos / volumen de envío, con plan gratuito (Product-Led Growth).
2. Arquitectura
Monolito modular Spring Boot 4.0.4 / Java 25, listo para descomponerse en microservicios (ingesta, segmentación, envío) según el implementationGuide.
controller/ → REST endpoints (capa HTTP)
service/ → lógica de negocio (ingesta, segmentación, generación IA, campañas, analíticas, auth)
repository/ → Spring Data JPA sobre H2 en memoria (PostgreSQL listo vía pom)
model/ → entidades JPA (clases mutables; no Records — Hibernate requiere
constructor vacío y proxies, incompatible con records finales)
dto/ → Records inmutables para requests/responses (incluye dto/llm para
el contrato de chat-completions)
client/ → LlmFeignClient (OpenFeign) hacia el LLM externo + LlmProperties
security/ → JWT (jjwt 0.12.6): JwtService, JwtAuthenticationFilter, JwtProperties
config/ → JacksonConfig (pre-escrito), FeignConfig, SecurityConfig
exception/ → ResourceNotFoundException + GlobalExceptionHandler (@RestControllerAdvice)
Puntos técnicos clave:
- Jackson 3 (%%INLINE1%%) vía %%INLINE2%% pre-escrito, inyectado
JsonMapper. - OpenFeign (%%INLINE4%%) llama a un endpoint %%INLINE5%%
LLM_API_KEY válida, timeout, red), el servicio cae a lógica determinística basada en reglas — el MVP nunca se bloquea por falta de credenciales del LLM. - Virtual Threads:
CsvImportServiceprocesa cada fila del CSV en un
Executors.newVirtualThreadPerTaskExecutor() para absorber importaciones grandes sin agotar el pool de hilos de plataforma. - JWT stateless: %%INLINE9%% protege %%INLINE10%% salvo
SecurityContext desde el header Authorization: Bearer <token>. - Text blocks: prompts al LLM y plantillas de email usan
"""...""".
3. Endpoints
Todos bajo %%INLINE16%%, protegidos con JWT excepto %%INLINE17%%.
Auth
- %%INLINE18%% — %%INLINE19%% →
LoginResponsecon token Bearer.
Ingesta de datos (feature 1)
- %%INLINE21%% — evento individual (%%INLINE22%%): crea el cliente si no existe.
POST /events/batch— lote de eventos.- %%INLINE24%% — multipart CSV (%%INLINE25%%), columnas
externalId,email,fullName. GET /customers— lista clientes con su segmento asignado.
Segmentación por IA (feature 2)
POST /segments/generate— clasifica todos los clientes en micro-segmentos
GET /segments— lista segmentos con tamaño de audiencia.
Campañas + generación de contenido IA (features 3 y requerimiento CRUD)
- %%INLINE30%% / %%INLINE31%% / %%INLINE32%% / %%INLINE33%% /
DELETE /campaigns/{id} POST /campaigns/{id}/generate-content— genera asunto + cuerpo vía LLM
EmailTemplate personalizado por cliente
del segmento.
POST /campaigns/{id}/send— simula el envío: crea el registro de métricas
sentCount = tamaño de audiencia y activa la campaña.
Analíticas (feature 4)
- %%INLINE39%% — %%INLINE40%% simula tracking de eventos de campaña.
GET /analytics/campaigns/{id}— tasa de apertura, CTR y conversión totales y por segmento.
4. Referencias
- Trend source: https://xchange.avixa.org/posts/top-10-innovative-ideas-to-start-an-ai-saas-business-in-2026-27
- Spring Boot 4.0.4 / Spring Framework 7.x, Spring Cloud OpenFeign 4.2.1, jjwt 0.12.6, MapStruct 1.6.3 (dependencia disponible para evolucionar el mapeo DTO↔entidad).
5. Análisis de negocio
- Problema: campañas de email genéricas → baja apertura/clic, alta baja
- Solución: pipeline ingesta → segmentación IA → contenido IA →
- Cliente objetivo: equipos de marketing de pymes B2C sin equipo de data
- Por qué ahora: LLMs accesibles vía API abaratan la personalización que
- Camino a monetización: tiers por contactos/volumen de envío + free tier
6. Cómo ejecutar
cd solutions/2026-07-29-personaflow-ai
mvn spring-boot:run
- App en %%INLINE42%%. Base H2 en memoria (%%INLINE43%%
- Variables de entorno opcionales: %%INLINE46%%, %%INLINE47%%,
JWT_EXPIRATION_MS. Sin ellas, el generador de
segmentos/contenido usa el fallback basado en reglas.
Flujo de prueba rápido:
TOKEN=$(curl -s -X POST localhost:8080/api/v1/auth/login \
-H 'Content-Type: application/json' \
-d '{"username":"admin","password":"password"}' | jq -r .token)
curl -s -X POST localhost:8080/api/v1/events -H "Authorization: Bearer $TOKEN" \
-H 'Content-Type: application/json' \
-d '{"customerExternalId":"c1","email":"a@x.com","fullName":"Ana Ruiz","eventType":"PURCHASE","eventValue":50}'
curl -s -X POST localhost:8080/api/v1/segments/generate -H "Authorization: Bearer $TOKEN"
curl -s -X POST localhost:8080/api/v1/campaigns -H "Authorization: Bearer $TOKEN" \
-H 'Content-Type: application/json' -d '{"name":"Verano 2026","segmentId":1}'
curl -s -X POST localhost:8080/api/v1/campaigns/1/generate-content -H "Authorization: Bearer $TOKEN"
curl -s -X POST localhost:8080/api/v1/campaigns/1/send -H "Authorization: Bearer $TOKEN"
curl -s -X POST localhost:8080/api/v1/campaigns/1/track -H "Authorization: Bearer $TOKEN" \
-H 'Content-Type: application/json' -d '{"type":"OPEN"}'
curl -s localhost:8080/api/v1/analytics/campaigns/1 -H "Authorization: Bearer $TOKEN"
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
Autoclerk Ai Api
82AI-powered code generation platform that transforms natural language into production-ready Spring Boot microservices in seconds.
Profitclaw Ai Api
82AI-powered code generation platform that transforms natural language into production-ready Spring Boot microservices in seconds.
Screenflow Ai
82AI-powered code generation platform that transforms natural language into production-ready Spring Boot microservices in seconds.