Przejdź do treści
YYefrixLab

Case study · Boty i integracje

FlatScout: obserwator rynku nieruchomości

Pipeline z 7 kontenerów, który całą dobę obserwuje portal z nieruchomościami, robi triage nowych ogłoszeń i pinguje bota na Telegramie, zanim inni kupujący się obudzą.

Branża
Nieruchomości
Czas realizacji
2 tygodnie
Rok
2026
Usługi
Automatyzacja, Boty, Infrastruktura scrapingu

Problem

Na gorącym rynku najmu i sprzedaży dobre ogłoszenia żyją godziny, czasem minuty. Powiadomienia portali są wolne, toporne i pomijają połowę kryteriów, które naprawdę się liczą (cena za metr, konkretne dzielnice, piętro, właściciel czy agencja). Wygrywa ten, kto najbardziej obsesyjnie odświeża stronę, a to robota dla maszyny, nie dla człowieka.

Co zbudowaliśmy

Czuwającego non stop obserwatora rynku: pipeline scrapingowy, który odpytuje portal w losowych odstępach, normalizuje i deduplikuje ogłoszenia, przepuszcza je przez filtr scoringowy dostrojony do faktycznych kryteriów kupującego i dostarcza ocalałe prosto na Telegram, ze zdjęciami, kluczowymi liczbami i przyciskami triage na jeden tap. Towarzyszący web UI pokazuje pełną tablicę triage: nowe, shortlista, odrzucone, obejrzane.

  • Grzeczny z założenia. Losowe opóźnienia żądań 3-10 sekund, rozsądne interwały odpytywania i cache utrzymują scraper w roli dobrego obywatela, a nie problemu z obciążeniem.
  • Deduplikacja odporna na reposty. Ogłoszenia dostają odciski oparte na treści, więc to samo mieszkanie wrzucone ponownie pod nowym ID nie pinguje dwa razy.
  • Triage wspierany LLM-em. Ogłoszenia niejednoznaczne (czy to naprawdę bez pośredników? czy “przytulne” to kod na 12 m²?) dostają tani przebieg LLM przez nasz gateway, zanim trafią do scoringu.
  • Człowiek w pętli. Bot odbiera decyzje z powrotem: shortlista, odrzuć, notatka. Te decyzje zasilają scoring, więc filtr ostrzy się z każdym użyciem.

Architektura

Siedem kontenerów pod jednym plikiem compose: API, worker scrapera, scheduler, bot Telegram, PostgreSQL, Redis i triage UI w React, całość za reverse proxy z UI chronionym 2FA. Wdraża się i aktualizuje przez git pull i jedną komendę compose.

Efekt

Opóźnienie od ogłoszenia do powiadomienia spadło do minut, a terminy oglądania zaczęły wpadać, zanim ogłoszenia zaliczyły pierwsze sto wyświetleń. Wzorzec (odpytaj, znormalizuj, oceń, powiadom, ucz się z feedbacku) był już wyceniany pod monitoring cen i śledzenie przetargów; przenosi się na każdy marketplace, w którym wygrywa szybkość.

Masz projekt, który „po prostu musi wyjść”?

Napisz, co budujesz, co cię blokuje i kiedy ma działać na produkcji. W 24 godziny dostaniesz uczciwą odpowiedź: zakres, koszt, termin. Bez teatru discovery calli.