SaaS Platform for Real Estate Agencies with Automated Listing Collection, Alerts, and an AI Assistant
A web dashboard for realtors and agencies that handle rentals and sales of housing within specific administrative zones. Users see the full list of listings in their zones, filter them, view sources, track price changes, and keep notes on each property. The platform also offers favorites, owner contacts, call scheduling, distribution of listings among team members, and alerts that notify users about new relevant listings. An additional AI layer pulls data from texts and photos, highlights risks, and generates a short summary of each property.
About the Project
A web dashboard for realtors and agencies that handle rentals and sales of housing within specific administrative zones. Users see the full list of listings in their zones, filter them, view sources, track price changes, and keep notes on each property. The platform also offers favorites, owner contacts, call scheduling, distribution of listings among team members, and alerts that notify users about new relevant listings. An additional AI layer pulls data from texts and photos, highlights risks, and generates a short summary of each property.
About the Customer
Heinrich is the owner of a real estate agency in Germany. He became passionate about building a B2B service for the real estate market, where the key value is speed of first contact and exclusive access within defined territories. His product's monetization model is a subscription in which administrative units are assigned to a client or team, reducing competition for the same lead within the platform. He came to us with only an idea, which we needed to bring to life.
Data collection
The system had to process a very large volume of listings and keep data up to date daily without manual operations, while keeping the product stable.
Duplicate merging
Listings from different sites are almost never exact copies, so we needed logic to "glue" them into one card based on a combination of attributes.
Territorial classification
Listings had to be linked to administrative units, with access restrictions based on the subscription and team permissions.
Complex working actions
Contacts, notes, a large questionnaire per property, distribution within the team, deal potential, hiding from the feed: all of this had to work quickly and without conflicts in a multi-user environment.
Alerts with flexible rules
Users must be able to create any number of listing combinations through filters and receive notifications about new matches, with a separate list of new listings for each alert.
Managed back office
We needed an administration tool where roles, users, teams, reference data, and service entities could be maintained without constant code changes.
AI assistant
The AI had to extract facts, highlight risks, and provide a short summary without inventing characteristics that don't exist or producing data out of thin air.
Proposed Solution
We built the solution as a full-fledged SaaS, divided into separate layers: data collection, product logic (API + business operations), back office, and web interface. Data is collected and normalized separately, while the product works with unified listing cards, teams, events (calls, notes, alerts), and zone-based subscriptions. Directus serves as the control center for managed entities and roles. On top of this, we added an AI layer that finds and explains data.
Listing collection and updates on Node.js + Puppeteer
Background workers collect listings from multiple sources, normalize fields, and run scheduled checks. Puppeteer is the foundation for working with dynamic pages.
A single property card
Listings from different sources are merged into one card with a list of sources, price change history, a unified status, related contact context, and team actions.
Product API layer on Node.js
We exposed business operations through separate endpoints: favorites, hiding, notes, an action log, assigning a responsible person, call statuses, potential scoring, and work with alerts and subscriptions.
Directus as the back office for accounts
We set up collections, roles, and permissions for the account structure of an owner, manager, or agent. We also built in teams, zones, plans, statuses, reference data, and access rules.
Web client for the realtor
We implemented a list with filters, context markers, and quick actions; a property page with change history and a large post-call questionnaire; and team workflows for distribution and notes.
Alerts as an extension of search
With frequency control and noise protection, we built alerts on the same filters as search and deliver a separate list of new listings for each rule.
Subscription and territorial exclusivity
We tied plans to administrative zones and restricted access to cards and tools based on purchased zones and team roles.
AI module for listing processing
Collected listings go through AI processing. The assistant extracts structure from text, writes a short summary, prepares a list of questions for the call, and drafts a first-contact template. When needed, the AI flags risks or uncertainties, and it works transparently so that every conclusion is grounded in the listing itself.
At the start, we built a picture of a realtor's real work. We described a potentially "hot" listing, which fields realtors look at first, what they record after a call, how work is divided within a team, and the moment when information gets lost. In parallel, we defined the business rules: what "zone exclusivity" means, how it is sold, how teams work, and what an account manager should see versus a rank-and-file agent. The result was a clear separation into a data collection layer, a product layer (API + business operations), and a management layer (back office).
Results
After launch, the client received a working SaaS product in which data and sales processes are brought together in one interface.
~1,000,000 listing checks
performed by the system daily
3–7 sources
used to build a single card
30–60% fewer duplicates
in the feed after merging
3 minutes to the first alert
from the moment a new relevant listing appears in a source
Up to 50+ alerts
per user
Up to 20 users
in one team, enabling simultaneous work by agents
0 manual transfers
to spreadsheets: all data is generated and stays in the system
Up to 1,000 access zones
set up in the reference list
≤ 1 day
to launch a new zone or plan from scratch
12 months
of change history stored for each card
Get in Touch
Or send us a message and we'll get back to you within 15 minutes during business hours