Obiettivo del progetto
Chi cerca un immobile in una zona specifica controlla gli stessi portali più volte al giorno, con filtri che non catturano mai davvero il criterio che conta: "entro X km da questo punto". L'obiettivo era automatizzare l'intera ricerca: monitorare più portali, filtrare per raggio geografico reale e ricevere un alert solo quando esce qualcosa di rilevante — prima degli altri.
Problema iniziale
- ogni portale ha filtri, formati e tassonomie diversi: lo stesso immobile appare con dati incoerenti;
- i filtri per "comune" non rispecchiano la ricerca reale, che ragiona per distanza da un punto;
- gli annunci migliori spariscono in fretta: arrivare tardi significa arrivare dopo la visita di qualcun altro;
- lo stesso annuncio viene ripubblicato o duplicato tra portali, generando rumore.
Come funziona il workflow
Un workflow n8n schedulato esegue il ciclo di monitoraggio:
- Raccolta — scraping periodico dei portali configurati, con parsing dei campi chiave (prezzo, superficie, indirizzo, foto, link);
- Normalizzazione — i dati eterogenei dei vari portali vengono mappati su uno schema unico;
- Geocoding e filtro raggio — l'indirizzo viene convertito in coordinate e confrontato con il punto di interesse: passa solo ciò che rientra nel raggio definito;
- Deduplica — confronto con lo storico su PostgreSQL (Supabase) per riconoscere ripubblicazioni e duplicati cross-portale;
- Alert — i nuovi annunci in target arrivano su Telegram con prezzo, distanza, link e anteprima, pochi minuti dopo la pubblicazione.
Scelte tecniche
- Schema dati unico: la normalizzazione a monte rende il resto della pipeline indipendente dal portale di origine — aggiungere una fonte significa scrivere solo un nuovo parser;
- Deduplica su più segnali: il matching non usa solo l'URL ma combina prezzo, superficie e posizione, perché lo stesso immobile cambia link tra portali;
- Storico su PostgreSQL: ogni run confronta con il database, così il sistema è idempotente — può girare quante volte serve senza generare alert doppi;
- Rispetto delle fonti: frequenze di polling conservative e caching per non gravare sui portali monitorati.
Stato attuale
Il sistema è in sviluppo attivo: il monitoraggio e gli alert sono funzionanti, la roadmap prevede una dashboard di consultazione dello storico e lo scoring automatico degli annunci rispetto ai criteri di ricerca.
Cosa dimostra nel portfolio
- automazione di scraping e integrazione dati da fonti eterogenee, con normalizzazione e deduplica;
- combinazione di n8n con un database relazionale per stato, storico e idempotenza;
- progettazione orientata al risultato: il valore non è "raccogliere dati" ma arrivare all'alert giusto prima degli altri.