myHomeIQ · Intelligence 01
Сервіс ринкової аналітики за американською proptech-платформою — він знає, який агент що продав, де, з ким, і які угоди пішли повз нього.
Увесь бізнес ріелтора — це люди, які про нього забули
Американський ріелтор живе з повторних угод: людина, якій ви продали будинок, продасть його знову через 5–7 років і двічі рефінансує іпотеку між тим. На той момент клієнт уже не пам’ятає, що ти існуєш.
Цей сервіс — аналітичний шар платформи. Він завантажує всі зареєстровані угоди й іпотеки країни за вісім років історії й перетворює це на те, з чим агент може працювати: хто продає в його районі, з ким він конкурує, з ким варто партнеритися — і хто з його власних колишніх клієнтів щойно зробив угоду через когось іншого.
Складність у двох речах. Дані приходять брудними — з державних реєстрів, MLS-баз і платних провайдерів, у різних форматах, де одну людину записано п’ятьма способами. І кожен зовнішній запит коштує реальні гроші, тож система мусить пам’ятати те, що вже знає.
Entity resolution, ETL і PostgreSQL, який мусив перестати рости боком
32 таблиці плюс 80 партицій — 60 із них по роках, — 617 індексів, 62 документовані API-операції.
Entity resolution · довга війна (35+ PR)
upsert_all, кешем на 128 МБ і resumable-прогресом, щоб багатогодинний прогін продовжився з місця зупинки. Нечіткий матчинг імен — сирий SQL на pg_trgm: similarity ≥ 0.6 у перетині з JSONB-масивами телефонів через ?|.Та сама задача, але у векторах
PostgreSQL під навантаженням
connects_to: роли, правильне місце селектора в middleware-стеку і точковий примус writing там, де ламався read-after-write. 3 619 рядків у чотирьох змерджених комітах.Нове джерело даних, наскрізно
Пошук, який поменшав
Скоринг — і коли за нього не платити
Pipelines / Providers / Sources, фонове довантаження, далі — фільтри й сортування в дашборді. Поза продакшном провайдер підмінений на випадковий, тож платна квота не згорає на тестових прогонах.Хто над цим працював
Соло — весь стек
- Публічне API сервісу, Lost Deals і три роки entity resolution.
- Партиціювання й розведення читання/запису, коли історії стало вісім років.
Дочитали до кінця й хочете обговорити?
