Mirador — AI-native home-buying copilot
A LangGraph agent with 19 tools and human confirmation before any payment, over a transactional backend with hard guarantees and a 3D viewer you can walk through.
What it is
Mirador takes a homebuyer from “I want to reserve” to a signed contract and a receipt, by talking. A LangGraph agent orchestrates 19 tools over the same services the REST API uses: it searches the real inventory, locks the unit, drafts the contract, creates the payment and issues the receipt.
The name is not decoration. A mirador is the vantage point you look out from, and that is what the product does: you look out of your future flat’s window before the flat exists.
What separates it from a demo
It stops before charging you. Before confirming a payment the graph raises
an interrupt() and waits for human confirmation. It is not an instruction in
the prompt — which a model can ignore — but a halt of the graph itself: without
the confirmation it does not continue.
Hard guarantees in the backend. The logic lives in the services, not in the prompt, and REST and agent call the same ones. Against double-booking there is a triple defence:
- Atomic lock inside a transaction, with
SELECT … FOR UPDATEand a conditionalUPDATEon the unit. - A partial unique index in the database: two active deals on the same property are impossible even if everything else fails.
- Confirming the payment requires the lock to still be alive.
On top of that: Stripe reconciliation via webhook for when the synchronous confirmation is lost, idempotency keys, lock TTL with a background sweeper, and a full audit trail of every event.
The viewer
You arrive flying in from the sky over the real neighbourhood: the plot on the IGN orthophoto —the same aerial imagery the Spanish cadastre uses— and the buildings of Alzira as real 3D volumes from OpenStreetMap, via Cesium Ion. The building is procedural, generated from the inventory, carrying live transactional state: you see what is free and what is taken. From there you cut through floors, pick a unit, look out of its window and walk through it in first person.
The agent drives the camera too: when it recommends a unit, the viewer flies to it.
Privacy
Agent observability goes through LangSmith with PII redacted at source — email and phone are stripped before leaving the process. The reason is concrete: LangSmith offers no way to delete runs, so any personal data sent there would be impossible to erase on request.
Stack: TypeScript · LangGraph.js · Hono · PostgreSQL/Drizzle · React 19 · react-three-fiber · LangSmith.
Other work with a related technical focus:
RecruitSecure AI — semantic candidate search
My own SaaS product for semantic candidate search with 100% local, GDPR-by-design AI, live at recruitsecureai.com.
Cherry Appointments — booking over WhatsApp with an AI agent
Multi-tenant booking SaaS: customers book by chatting with an AI agent on WhatsApp or Telegram, while the business runs everything from a single dashboard.
xdata-bim — Infrastructure Digital Twin (OFITECO)
Web-based digital-twin platform (BIM + GIS + IoT) for monitoring critical infrastructure in real time. Built solo, from architecture to production.