myHomeIQ · Intelligence 01
The market-intelligence service behind a US proptech platform — it knows which agent sold what, where, with whom, and which deals got away.
A realtor’s whole business is people who forgot them
A US realtor lives on repeat business: the person you sold a house to will sell it again in five to seven years, and refinance twice in between. By then the client has forgotten you exist.
This service is the platform’s intelligence layer. It ingests every recorded sale and mortgage in the country over eight years of history and turns that into something an agent can act on: who is selling in their area, who they compete with, who they should partner with — and which of their own past clients just did a deal through somebody else.
Two facts make it hard. The data arrives dirty, from dozens of government registries, MLS databases and paid providers, in different shapes and with the same person spelled five ways. And every external lookup costs real money, so the system has to remember what it already knows.
Entity resolution, ETL, and PostgreSQL that had to stop growing sideways
32 tables plus 80 partitions — 60 of them by year — 617 indexes, 62 documented API operations.
Entity resolution · the long war (35+ PRs)
upsert_all, a 128 MB cache, and resumable progress so a multi-hour run restarts where it stopped. Fuzzy name matching is raw SQL on pg_trgm: similarity ≥ 0.6 intersected with JSONB phone arrays via ?|.Then the same problem, vectorised
PostgreSQL under load
connects_to: roles wired up, the database selector placed correctly in the middleware stack, and the writing role forced at the exact points where read-after-write broke. 3 619 lines across four merged commits.A new data supplier, end to end
Search that got smaller
Scoring, and knowing when not to pay for it
Pipelines / Providers / Sources abstraction, backfilled in the background, then exposed as dashboard filters and sorting. Outside production the provider is swapped for a random one, so the paid quota is never burned by a test run.Who worked on it
Solo — the whole stack
- The service’s public API, Lost Deals, and three years of entity resolution.
- Partitioning and read/write splitting as history reached eight years.
Read to the end and want to talk it over?
