The market runs on vibes.
Vietnamese real-estate listings live in PDF brochures, WhatsApp screenshots and broker spreadsheets. Buyers spend weeks calling around to triangulate what a 78m² in D7 is actually worth. Sellers price by feel.
There was a marketplace-shaped hole — but every previous attempt drowned in spam listings, fake photos and zero-trust pricing. The brief: build the marketplace, but only if the AI layer underneath is good enough that listings get verified by default, not by humans.
Four AI systems, one marketplace
Each system has its own eval harness, observability and on-call rotation. We pick the cheapest model that clears the eval, not the largest.
Listing extraction
Brokers upload PDFs and WhatsApp screenshots. A vision-LLM pipeline pulls out address, m², price, floor, view, parking — and flags inconsistencies for human review.
Photo trust score
A small custom vision model rates whether a listing photo matches the address, was taken recently, and isn't reused from another listing. Three classifiers, one number.
Market price model
Hedonic regression over 18 months of MLS transactions, segmented by district, building age, view and floor. Outputs an interval, not a point estimate.
Search & match
Hybrid retrieval (BM25 + embeddings) over listing text, with a re-ranker that learns from user dwell and contact-click. Returns 5 listings, not 200.
System diagram
A boring stack, kept boring on purpose. We run on Modal for inference and Fly.io for the web tier. Cost-per-listing is $0.011.
Numbers from last week's report.
A live snapshot. We update these monthly in our /trust page so you can hold us to them.
“We were three years into trying to make this market legible. ADIA shipped the layer that actually does it in nine months. We can't run baselify without them now — and that's by design.”