Owned product

Last updated: October 2026

Buy Houses Japan: an AI property search we built and run

A six-bedroom house in Kanazawa is listed at ¥5.9 million, about $38,000, on a page written only in Japanese. On Buy Houses Japan a buyer types “4 bedroom house in Kanazawa under $50,000” and gets five filters they can edit and 28 houses on a map, that one included, each linked to its original listing (search run on 21 October 2026). Urbano DX designed, built and operates the product. It is ours, not client work.

AI Workflow Teardown: £595 · 3 business days

Map not delivered within 3 business days of agreed scope and inputs, full refund.

The product's own intro film, 33 seconds

We made the film as well. Every frame is drawn from a snapshot of the live listing data rather than screen-recorded, and the voice is generated on our own machine. Narrated, with music; mute it in the player.

~22,000

Houses searchable

Detached houses with photos and a yen price whose source page was re-checked in the last 14 days, duplicates merged (October 2026).

5

Languages

English, Japanese, Spanish, Korean and Traditional Chinese, each with its own pages.

0.65 → 0.81

Ranking quality

nDCG@8 on our 94-query test set, before and after adding a reranking model to the first 30 results.

97

Production deploys in 30 days

In the 30 days to 21 October 2026, each one after the test suite passed.

From one sentence to filters the buyer can edit

A property request mixes place, budget and size in one line. A language model reads it and returns structured filters instead of a hidden query: city, prefecture, property type, maximum price and minimum bedrooms appear as ordinary fields. The list and the map read the same filters, so a correction shows at once.

  • Place names resolve to official municipality codes: 1,920 cities, towns, villages and wards.
  • The query embedding starts while the model is still parsing, so a search does not wait twice.
  • If the embedding service is slow, the search still answers from the parsed filters.
“4 bedroom house in Kanazawa under $50,000” became five editable filters and 28 results. Live product, 21 October 2026.
“4 bedroom house in Kanazawa under $50,000” became five editable filters and 28 results. Live product, 21 October 2026.

Ranked results, checked on a map

Every listing that passes the filters is scored against the request, then the top 30 are reordered by a reranking model. On our 94-query test set that lifted ranking quality (nDCG@8) from 0.645 to 0.813, for about one second per search. Beside the list, the buyer can draw an area, ask for a 5 to 60 minute walking or driving zone, or switch on official hazard layers.

  • Six hazard layers from the MLIT Hazard Map Portal: flood, storm surge, tsunami, debris flow, steep slope and landslide.
  • Addresses are geocoded with the University of Tokyo's CSIS service: a median error of 0.21 km against 150 known pins, half that of the fallback geocoder (0.43 km).
  • A house with only an approximate location stays in the list but gets no misleading map pin.
The map for the same search, with the official flood layer switched on. Live product, 21 October 2026.
The map for the same search, with the official flood layer switched on. Live product, 21 October 2026.

Every house traced back to its source

The detail page shows the facts parsed from the Japanese listing, the date the source last showed it for sale, a condition estimate from the photos and the price against nearby listings. Data we do not have is shown as unknown, never as safe, and the original advert is one click away.

  • Up to ten photos per house are read in one batched vision call, for condition and renovation status.
  • Nearby comparable listings within 1, 3, 5 or 10 km, with the price distribution.
  • A buyer can send a question; with their permission it goes to the listing agency in Japanese.
The Kanazawa house from that search: parsed facts, source and check date, condition from the photos and price against the area. Street number removed from this capture.
The Kanazawa house from that search: parsed facts, source and check date, condition from the photos and price against the area. Street number removed from this capture.

The work nobody sees: keeping 22,000 listings true

Most of the effort went into ingestion, not the AI step. Scheduled flows pick up new adverts every hour, read prices written with 億 and 万, merge the same house advertised twice, store the photos and index them. Source pages are re-checked, and a house whose advert has gone drops out of search.

  • Two adverts become one house only when the address, both floor areas (within 0.1 m²), the layout and the year built all match; anything ambiguous is held for review.
  • A failed step retries from a checkpoint, at most five times, without paying for the model calls twice.
  • A source that stops delivering for 26 hours raises an alarm.
The homepage makes the promise this pipeline keeps: houses still listed, each with the date it was checked. Live product, 21 October 2026.
The homepage makes the promise this pipeline keeps: houses still listed, each with the date it was checked. Live product, 21 October 2026.

Run as a business, not a demo

A visitor gets one search without an account, then signs in with Google or an emailed link. Saved searches send daily or weekly alerts, paid plans run on Stripe, a buying assistant asks follow-up questions and prepares a shortlist, and agencies get a shared workspace. The product ships continuously: 97 deploys to production in the 30 days to 21 October 2026, each after the test suite passed.

  • Interface: React and Vite, MapLibre maps, and five languages, each with crawlable pages for all 47 prefectures.
  • Backend: FastAPI and MongoDB, Jina embeddings and reranker, Zvec vector search, Prefect for scheduled work.
  • Platform: Firebase sign-in, Stripe billing, Cloudflare R2 for photos, Docker Compose on our own servers.

What this means for your project

The pattern carries over to any workflow where people describe what they want in their own words and someone re-keys it into a system. The sentence becomes a structured request the person can see and correct, a deterministic step does the work, and every result links back to its source. Your version needs your own representative inputs and acceptance checks, agreed before the build.

  • Support triage, document intake, internal search and CRM updates have the same shape.
  • The hard part is usually the data the model receives, so we scope that first.
See a sample acceptance report

Buyer FAQs

Is Buy Houses Japan a client project?

No. It is Urbano DX's own product: we designed, built and operate it, and we own it outright. It shows how we work; it is not a client testimonial and says nothing about any client's results.

How long has it been running?

The first public version went online in February 2026, and changes have shipped most days since: 97 production deploys in the 30 days to 21 October 2026. A client project starts smaller, with one journey and written acceptance checks.

Which AI models does it use?

A language model, called through our own gateway, turns the request into filters and writes English titles for Japanese listings. Jina models embed and rerank, and a vision model reads the listing photos. The gateway lets us change providers without changing the product.

Does a match mean a house is available or a good buy?

No. A match means the advert fits the filters and its source page was still live when last checked. Availability, condition, legal status and hazards have to be confirmed with the agency and the municipality before buying.

Can you build something like this on our data?

Yes, when the workflow and data access are clear. The usual first step is the £595 workflow teardown: within 3 business days of agreeing the scope and receiving the inputs, you get a one-page plan, a tools and data assessment and an indicative build cost. The fee is credited toward a later sprint.

Have one step like this in your business?

Send one workflow where requests arrive as free text and someone re-keys them by hand. The teardown maps it, checks your tools and data, and recommends the first build.

Get your plan for £595