Saltar al contenido
Volver a proyectos
En desarrollo

Mirador — copiloto de compra de vivienda con IA

Agente LangGraph con 19 herramientas y confirmación humana antes de cobrar, sobre un backend transaccional con garantías duras y un visor 3D en el que se pasea por dentro del piso.

Qué es

Mirador lleva a quien compra una vivienda desde el «quiero reservar» hasta el contrato firmado y el recibo, hablando. Un agente LangGraph orquesta 19 herramientas sobre los mismos servicios que usa la API REST: busca en el inventario real, bloquea la unidad, redacta el contrato, crea el cobro y emite el recibo.

El nombre no es decorativo. Un mirador es el sitio desde el que se contempla lo que hay delante, y eso es lo que hace el producto: te asomas al piso antes de que exista, desde su propia ventana.

Lo que lo diferencia de una demo

Se para antes de cobrar. Antes de confirmar un pago el grafo lanza un interrupt() y espera confirmación humana. No es una instrucción en el prompt —que un modelo puede ignorar— sino una parada del propio grafo: sin la confirmación no continúa.

Garantías duras en el backend. La lógica no vive en el prompt sino en los servicios, y REST y agente llaman a los mismos. Contra la doble reserva hay triple defensa:

  1. Lock atómico dentro de transacción, con SELECT … FOR UPDATE y UPDATE condicional sobre la unidad.
  2. Índice único parcial en base de datos: es imposible tener dos expedientes activos sobre la misma finca aunque falle todo lo demás.
  3. Al confirmar el pago se vuelve a exigir que el lock siga vivo.

Además: conciliación con Stripe por webhook para cuando la confirmación síncrona se pierde, claves de idempotencia, TTL de los bloqueos con barrido en segundo plano, y traza de auditoría de cada evento del expediente.

El visor

Se entra volando desde el cielo sobre el barrio real: la parcela sobre la ortofoto del IGN —la misma fotografía aérea que usa el catastro— y los edificios de Alzira en volumen 3D desde OpenStreetMap, vía Cesium Ion. El edificio es procedural, generado desde el inventario, con el estado transaccional vivo: se ve qué está libre y qué está reservado. Desde ahí se corta por plantas, se elige una unidad, se mira por su ventana y se recorre por dentro en primera persona.

El agente también conduce la cámara: cuando recomienda una unidad, el visor vuela hasta ella.

Privacidad

La observabilidad del agente pasa por LangSmith con redacción de datos personales en origen — correo y teléfono se tachan antes de salir del proceso. El motivo es concreto: LangSmith no permite borrar ejecuciones, así que un dato personal enviado allí sería imposible de borrar a petición del interesado.

Stack: TypeScript · LangGraph.js · Hono · PostgreSQL/Drizzle · React 19 · react-three-fiber · LangSmith.