2026-05-06 · DATA ROOM

Realtypilot 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

RealtyPilot AI — Explainer

Concepto

RealtyPilot AI es un co-piloto de inteligencia artificial vertical para el sector inmobiliario. Resuelve el problema de los agentes que dedican 10-15 horas semanales a tareas de redacción repetitiva (descripciones de propiedades, emails de seguimiento, posts para redes sociales) en lugar de cerrar ventas.

El sistema permite a cualquier agente generar contenido de marketing de alta calidad en segundos, con soporte para múltiples tonos (Lujo, Familiar, Moderno, Urgente) y plataformas (portales, email, redes sociales).


Arquitectura

┌─────────────────────────────────────────────────────────────────────┐
│  Cliente (web / móvil / Postman)                                    │
└───────────────────────┬─────────────────────────────────────────────┘
                        │ HTTPS  (JWT Bearer token)
┌───────────────────────▼─────────────────────────────────────────────┐
│  Spring Boot 4.0.4 — Java 25                                        │
│                                                                     │
│  ┌─────────────────┐  ┌──────────────────┐  ┌────────────────────┐  │
│  │ AuthController  │  │ ContentController │  │GlobalExceptionHnd. │  │
│  └────────┬────────┘  └────────┬─────────┘  └────────────────────┘  │
│           │                   │                                     │
│  ┌────────▼────────┐  ┌────────▼──────────┐                         │
│  │  AuthService    │  │ RealtyPilotService │                         │
│  └────────┬────────┘  └────────┬──────────┘                         │
│           │                   │                                     │
│  ┌────────▼────────────────────▼──────────┐  ┌────────────────────┐  │
│  │  Spring Data JPA Repositories          │  │  LlmClient (Feign) │  │
│  │  (UserRepository, PropertyProfile…)    │  │  → OpenAI API      │  │
│  └────────┬───────────────────────────────┘  └────────────────────┘  │
│           │                                                         │
│  ┌────────▼───────────────────────────────────────────────────────┐  │
│  │  H2 (dev in-memory) / PostgreSQL (prod)                        │  │
│  └────────────────────────────────────────────────────────────────┘  │
└─────────────────────────────────────────────────────────────────────┘

Capas

CapaClasesResponsabilidad
Security%%INLINE0%%, %%INLINE1%%, UserDetailsServiceImplJWT signing/validation, filtro stateless
Controller%%INLINE3%%, %%INLINE4%%, GlobalExceptionHandlerREST API, validación de entrada, RFC 9457 errors
Service%%INLINE6%%, %%INLINE7%%Lógica de negocio, prompt engineering, quota
ClientLlmClient (Feign)Abstracción HTTP hacia el LLM externo
Repository%%INLINE9%%, %%INLINE10%%, GeneratedContentRepositorySpring Data JPA
Model%%INLINE12%%, %%INLINE13%%, GeneratedContentEntidades JPA
DTORecords Java 25Contratos API inmutables y type-safe

Endpoints

Auth (público)

MétodoURLBodyDescripción
%%INLINE15%%%%INLINE16%%RegisterRequestRegistro de nuevo agente, devuelve JWT
%%INLINE18%%%%INLINE19%%LoginRequestLogin, devuelve JWT

API v1 (requiere Authorization: Bearer <token>)

MétodoURLBodyDescripción
%%INLINE22%%%%INLINE23%%PropertyRequestGuarda perfil de propiedad reutilizable
%%INLINE25%%%%INLINE26%%Lista propiedades del agente
%%INLINE27%%%%INLINE28%%GenerateListingRequestMVP Feature 1 — Genera descripción para portal
%%INLINE30%%%%INLINE31%%GenerateEmailRequestMVP Feature 2 — Genera borrador de email
%%INLINE33%%%%INLINE34%%GenerateSocialPostRequestMVP Feature 3 — Genera posts Instagram + Facebook
%%INLINE36%%%%INLINE37%%Historial de contenido generado

Ejemplos de Request

Register:

POST /api/auth/register
{
  "email": "agent@realty.com",
  "password": "secret123",
  "fullName": "María García"
}

Generate Listing (MVP Feature 1 + 4 — tone):

POST /api/v1/listings/generate
Authorization: Bearer <token>
{
  "tone": "LUXURY",
  "language": "es",
  "inlineProperty": {
    "title": "Ático en Paseo de Gracia",
    "address": "Paseo de Gracia 45, Barcelona",
    "propertyType": "penthouse",
    "squareMeters": 180.0,
    "bedrooms": 3,
    "bathrooms": 2,
    "parkingSpaces": 1,
    "specialFeatures": "terraza privada, vistas 360°, jacuzzi, concierge 24h",
    "askingPrice": 2500000,
    "currency": "EUR"
  }
}

Generate Email (MVP Feature 2):

POST /api/v1/emails/generate
Authorization: Bearer <token>
{
  "emailType": "post-visit-follow-up",
  "clientName": "Carlos López",
  "propertyTitle": "Ático en Paseo de Gracia",
  "additionalNotes": "Cliente muy interesado, tiene presupuesto aprobado",
  "tone": "MODERN"
}

Generate Social Post (MVP Feature 3):

POST /api/v1/social/generate
Authorization: Bearer <token>
{
  "platform": "instagram",
  "tone": "FAMILY",
  "includeHashtags": true,
  "inlineProperty": {
    "title": "Chalet familiar en Las Rozas",
    "squareMeters": 250.0,
    "bedrooms": 4,
    "bathrooms": 3,
    "specialFeatures": "jardín privado, piscina, colegio a 5 min",
    "askingPrice": 650000,
    "currency": "EUR"
  }
}


MVP Features — Implementación

FeatureEndpointEstado
Generador de Descripciones de PropiedadesPOST /api/v1/listings/generate
Asistente de EmailPOST /api/v1/emails/generate
Creador de Contenido para Redes SocialesPOST /api/v1/social/generate
Gestión de Tonos y EstilosParámetro tone en todos los endpoints
Tonos disponibles: %%INLINE42%%, %%INLINE43%%, %%INLINE44%%, %%INLINE45%%

Prompt Engineering

RealtyPilotService contiene el núcleo de IA:

  1. System prompt especializado — instrucciones de rol para el LLM con contexto inmobiliario.
  2. User prompts específicos por feature — incluyen parámetros estructurados de la propiedad,
tipo de tono y restricciones de longitud y formato para cada plataforma.
  1. Fallback determinista — cuando no hay API key configurada (dev mode), el servicio devuelve
plantillas realistas que demuestran el formato de salida sin coste.

Análisis de Negocio

Problema

  • 10-15 h/semana en redacción = ~€300-€600/mes en tiempo perdido por agente.

Propuesta de Valor

  • RealtyPilot genera contenido en <5 s. ROI positivo desde el primer día para el agente.

Monetización (Freemium B2B SaaS)

PlanPrecioGeneraciones/mesTarget
Free$010Agentes individuales explorando la herramienta
Pro$29/mesIlimitadasAgentes activos con cartera de propiedades
Agency$99/mesIlimitadas + multi-usuarioPequeñas agencias (2-10 personas)
Unit Economics estimados (Pro):
  • CAC objetivo: $50 (PLG — el free tier es el canal de adquisición)
  • LTV a 12 meses: $348
  • LTV/CAC: ~7x ✅

Barreras de Entrada

  • Especialización en terminología y flujos inmobiliarios (moat de dominio)
  • Historial generado y perfiles de propiedades (lock-in de datos)
  • Integraciones futuras con portales (Idealista, Fotocasa, Rightmove) — sticky SaaS

Stack Tecnológico

ComponenteTecnología
BackendSpring Boot 4.0.4, Java 25
SeguridadSpring Security 7, jjwt 0.12.6
Base de datos (dev)H2 in-memory
Base de datos (prod)PostgreSQL
ORMSpring Data JPA + Hibernate
LLM IntegrationOpenFeign 4.2.1 → OpenAI API (compatible con cualquier proveedor)
SerializaciónJackson 3.x (tools.jackson.*)

Cómo Ejecutar

Requisitos

  • Java 25+
  • Maven 3.9+

Dev (H2 in-memory, sin LLM real)

cd solutions/2026-05-06-realtypilot-ai
mvn clean spring-boot:run

La app arranca en http://localhost:8080. H2 Console disponible en http://localhost:8080/h2-console (JDBC URL: %%INLINE50%%, User: %%INLINE51%%, Password: vacío)

Sin API key configurada, todos los endpoints devuelven contenido de demostración funcional.

Con LLM real (OpenAI o compatible)

mvn spring-boot:run \
  -Drealtypilot.llm-api-key=sk-... \
  -Drealtypilot.llm-model=gpt-4o

Con PostgreSQL (producción)

mvn spring-boot:run \
  -Dspring.datasource.url=jdbc:postgresql://localhost:5432/realtypilot \
  -Dspring.datasource.username=postgres \
  -Dspring.datasource.password=secret \
  -Dspring.jpa.hibernate.ddl-auto=update \
  -Drealtypilot.jwt-secret=<min-256-bit-secret> \
  -Drealtypilot.llm-api-key=sk-...

Flujo de prueba rápida

# 1. Registrar agente
curl -s -X POST http://localhost:8080/api/auth/register \
  -H "Content-Type: application/json" \
  -d '{"email":"demo@test.com","password":"demo1234","fullName":"Demo Agent"}' | jq .

# 2. Copiar el token de la respuesta, luego:
TOKEN="<token-aqui>"

# 3. Generar descripción de propiedad
curl -s -X POST http://localhost:8080/api/v1/listings/generate \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "tone":"LUXURY","language":"es",
    "inlineProperty":{
      "title":"Penthouse Diagonal Mar","squareMeters":200.0,
      "bedrooms":3,"bathrooms":2,"parkingSpaces":2,
      "specialFeatures":"pool, sea views, concierge",
      "askingPrice":3000000,"currency":"EUR"
    }
  }' | jq .generatedText

# 4. Ver historial
curl -s http://localhost:8080/api/v1/content/history \
  -H "Authorization: Bearer $TOKEN" | jq .

Referencias

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