Кейс · Боти та інтеграції
FlatScout: спостерігач ринку нерухомості
Пайплайн із 7 контейнерів, який цілодобово стежить за маркетплейсом нерухомості, тріажить нові оголошення й пінгує Telegram-бота раніше, ніж прокинуться інші покупці.
- Індустрія
- Нерухомість
- Терміни
- 2 тижні
- Рік
- 2026
- Послуги
- Автоматизація, Боти, Скрейпінг-інфраструктура
Проблема
На гарячому ринку оренди й купівлі хороші оголошення живуть години, іноді хвилини. Нотифікації самих маркетплейсів повільні, грубі й ігнорують половину критеріїв, що справді важать: ціну за квадратний метр, конкретні райони, поверх, власник чи агенція. Виграє той, хто найманіакальніше оновлює сторінку. Це робота для машини, а не для людини.
Що ми збудували
Always-on спостерігача ринку: скрейпінг-пайплайн, який опитує маркетплейс із рандомізованим інтервалом, нормалізує й дедуплікує оголошення, проганяє їх крізь скоринговий фільтр, налаштований під реальні критерії покупця, і доставляє вцілілі прямо в Telegram: з фото, ключовими цифрами та кнопками тріажу в один тап. Супутній веб-UI показує повну тріаж-дошку: нові, шортлист, відхилені, переглянуті.
- Ввічливий за дизайном. Рандомізовані затримки запитів у 3-10 секунд, розумні інтервали полінгу й кешування роблять скрейпер добропорядним громадянином, а не проблемою навантаження.
- Дедуплікація, що переживає репости. Оголошення отримують контентні фінгерпринти, тож та сама квартира, перевикладена під новим ID, не пінгне двічі.
- LLM-асистований тріаж. Неоднозначні оголошення (це справді від власника? “затишна” означає 12 м²?) проходять дешевий LLM-прохід через наш шлюз перед скорингом.
- Людина в циклі. Бот приймає рішення назад: у шортлист, відхилити, нотатка. Ці рішення живлять скоринг, тож фільтр гострішає з кожним використанням.
Архітектура
Сім контейнерів під одним compose-файлом: API, скрейпер-воркер, планувальник, Telegram-бот, PostgreSQL, Redis і React-UI для тріажу, все за реверс-проксі, UI під 2FA. Деплой і оновлення: git pull і одна compose-команда.
Результат
Затримка від оголошення до нотифікації впала до хвилин, а домовленості про перегляд почали з’являтися раніше, ніж оголошення набирало першу сотню переглядів. Патерн (опитати, нормалізувати, оцінити, сповістити, вчитися на фідбеку) ми відтоді пропонували для моніторингу цін і відстеження тендерів: він переноситься на будь-який маркетплейс, де перемагає швидкість.