Listing record
no conversation
The typed record the state machine builds as the chat progresses —
this is what the dashboard and the portals read.
What's real here
-
✓
The conversation logic is the production build.
intake.ts and the welcome copy are compiled straight
from the repo — same prompts, same menus, same validation.
-
✓
Price guidance uses the demo valuation adapter — the same
deterministic stand-in the server runs until LOOM is
connected.
-
×
No database and no WhatsApp. The conversation lives in
memory and resets on reload; the server build persists to Postgres
and sends through the BSP.
-
×
The AI layer runs server-side, so it is not in this page.
Two parts of the product call Claude from the API: the
description writer, which drafts your listing copy for you
to approve, and the concierge, which answers off-script
questions — "how long does transfer take?", "who pays the rates
clearance?" — in the same thread, and hands over to a registered
practitioner when it should. Both need an API key, which has no
business in a public web page. Run the API to see them live.
The scripted flow above is deliberately independent of all that: if
the model is unavailable, every question here still works.
Simulator for demonstration. Price ranges are illustrative, not a
valuation, and nothing entered here is stored.