Lumi.
Lumi · private beta · EU · LatAm · MENA

Your second brain
for closing deals.

Speak after a showing. Forward an email. Pull up a client. Lumi captures the soft signals, fills the brief, and feeds Claude — automatically.

  • Voice → CRM, auto. No forms.
  • Works offline. Syncs when you're back.
  • Free for agents in EU · LatAm · MENA.

9-min read · Updated April 2026

9:41

Lumi · Wednesday

Good morning, Niki.

Two showings · three leads need a nudge.

Clara Ruiz
Tomorrow 11am showing at Passeig de Gràcia 84 with Clara Ruiz. She wants to bring her partner.
Got it — creating the showing.
Suggested event · 92%

Showing · Passeig de Gràcia 84

Thu · 11:00–11:45Gràcia
What’s the HOA for Apt 4?
€210 per month, covers elevator, concierge, and rooftop.DOC 12
Ask Lumi or speak…
Calendar
Todos
Lumi
Clients
Settings
agent toolkit · field guide

Past clients leave signals.
Most agents never look.

The single biggest source of new transactions for any senior agent is repeat business — past clients moving again. The catch is that past clients almost never call to announce it. They start saving different listings on Idealista. They share a post about a school district two cities over. They like a babymoon photo. The signal is there for weeks before the conversation.

9-min readUpdated April 2026Pack 03 of 30 · @lumi.estate
signal_2026-04-21.txt
SIGNAL · family_growth · medium confidence
Sofia Ferreira (Lapa, purchased 2024-06)

evidence:
  · saved-search shifted 2-bed Lapa
    → 3-bed Estoril, garden, €850k-1.2M
  · shared post: Estoril schools (LinkedIn)

draft:
  "Sofia — couple of new builds came on in
   Estoril this week with the kind of layouts
   you liked at Rua da Prata, but bigger.
   Sending two if you want a Saturday look."

Three sentences. No mention of the saved search. No mention of the schools. Just a calibrated nudge that lands at the exact week she was about to call someone.

The honest reframe: this is not surveillance.

The thing this protocol does — watching public signals from past clients — has a creepy version and a non-creepy version, and the difference is entirely in how the agent uses what they find. A good relationship-radar uses public data the way a thoughtful friend would: noticing that life is shifting, offering to help if it's useful, never naming the thing they noticed.

The data is mundane. Saved searches on listing portals are public by design — that's how portals show comparable activity to sellers. Public Instagram posts are public posts. Shared LinkedIn content is broadcast. None of this is hacking; all of it is what a past client's agent could (and used to) notice manually if they had the time. The protocol just keeps eyes on it without asking the agent to spend two hours a week on social media.

The line, again: never name the inference, never quote the post, never reveal the watching. The message anchors in something new in the world — a listing, a market shift — and the calibration of that message to the signal is the value. The client should never know the radar exists. They should just notice that their old agent has uncannily good timing.

“The client should never know the radar exists. They should just notice that their old agent has uncannily good timing.”

the five signals

What the radar actually watches.

Five public-data patterns that, in our experience, predict repeat-transaction activity 8-14 weeks out. Each has a confidence weight; SIGNAL fires only when at least two of them stack.

signal type
saved_search_shift
The shape of what they're searching has changed — bedroom count, neighbourhood, or budget band moved decisively (not just a curious browse).
high
listing_pattern_match
Multiple saves in 14 days that share a feature absent from their current home (garden, ground-floor, sea-view, second bathroom).
high
life_event_public
Public post or photo signal about a life event likely to drive a move — engagement, marriage, baby, parent move-in, retirement, divorce, job change.
medium
neighbourhood_drift
Their public engagement pattern (likes, follows, shared posts) has shifted toward a new area — they've been thinking about it for weeks.
medium
agent_research
They've engaged with another agent's content (likes, follows, replies) — they're at least open to talking to someone, possibly already are.
high — defensive
the protocol

Five rules. One signal at a time.

The discipline of the radar. Skip any one and you produce a creepy message, a false positive, or both.

  1. 01

    The radar runs nightly, not in real-time.

    A real-time alert on every saved-search refresh is noise — clients browse listings the way they browse Instagram. The signal is in the shape of a 14-day window, not in any single click. Run the analysis nightly at 2am, surface signals at 8am, the agent reviews over coffee. Latency-of-a-day costs nothing in this game; the events you're catching unfold over weeks.

  2. 02

    Two sources or it's not a signal.

    Every false positive trains the agent to ignore the radar. The protocol requires at least two independent data points (a saved-search shift PLUS a public post signal) before promoting a behaviour to SIGNAL status. One data point — even a strong one — gets logged as WATCH and revisited next cycle. This single rule cuts false positives by ~70% in our internal testing.

  3. 03

    Never name the inference in the message.

    If the signal is family_growth, the message does not mention babies, kids, or schools. The message references a new listing that happens to match the new constraints (3-bed, garden, walkable to a kindergarten you can name without naming kindergartens). The whole credibility of the radar — and the agent's relationship — depends on this discipline.

  4. 04

    The legal stack is portal RSS + public-only social.

    Two boundaries: (1) portal data comes from official RSS, partner APIs, or aggregators with TOS-compliant access — never scraped session cookies, never paid breach data. (2) Social signals come only from posts the client has chosen to make public. The radar never touches DMs, friends-only posts, or private profiles. If a client looks up the protocol, they should be comfortable with what they find.

  5. 05

    One message per signal. Then back to nightly cadence.

    When a SIGNAL fires and the agent sends the draft, the radar mutes that client for 30 days. If the message lands, it'll lead to a conversation — and the conversation is the right channel from there, not the radar. If the message doesn't land, a second one within the month reads as creepy. Trust the cycle.

anti-patterns

Three messages that burn the relationship.

When the protocol's discipline slips, the radar produces messages that feel like surveillance. Each of these has been sent by a real agent we worked with — and each cost them the past client.

the namer

Sofia! Saw on Instagram that you might be expecting — congratulations! Want me to send some 3-bed options in Estoril, walkable to schools?

Names the inference. The whole credibility of the protocol vapourises. Sofia closes the message and texts a friend that her old agent is creepy.

the surveillance leak

Sofia, I noticed your saved searches shifted to 3-bed listings in Estoril this month. Is something changing? Happy to help with a new search!

Tells the client you've been watching their search behaviour. Even if this is technically public data, the message reveals the surveillance posture. Don't.

the generic check-in

Sofia, hope you're doing well! Just wanted to check in and see if you're still happy with the apartment. Any thoughts of looking at something new?

Wastes the signal entirely. A radar that produces a generic check-in is just an expensive way to say 'just touching base'. The whole point is that the message is calibrated to the signal — without that, the radar adds nothing.

copy · paste

The signal snapshot.

What the radar produces nightly for each past client. The Claude prompt below consumes this snapshot and decides SIGNAL / WATCH / NOISE.

signal_snapshot.yaml
# ── 14-day signal snapshot ────────────────────────
client:           "Sofia Ferreira"
last_transaction: "purchased 2-bed Lapa, 2024-06"
window:           2026-04-12 → 2026-04-26
portal_signals:
  - saved_search_shift:
      from: "Lapa, 2-bed, €600-750k"
      to:   "Estoril, 3-bed, €850k-1.2M"
      detected_at: 2026-04-19
  - new_saves: 4 listings (all 3-bed, garden)
public_signals:
  - "shared a post about Estoril schools
     (LinkedIn, 2026-04-21)"
  - "liked 3 photos tagged #babymoon
     (Instagram, 2026-04-15)"
inferred_life_event_candidates:
  - family_growth (confidence: medium)
  - relocation (confidence: low)
days_since_last_touch: 312
the prompt that classifies it

What to feed Claude.

The system prompt that turns a 14-day signal snapshot into either a draft message or a 'keep watching' log entry.

watch_system_prompt.md
You are a senior real-estate agent's
relationship-radar analyst.

INPUT
You receive a snapshot of one past client's
public activity over a 14-day window: which
portal saved-searches changed shape, which
listings they saved, which posts they liked
or shared, and any public life-event signal
(LinkedIn, Twitter, Instagram public posts).

OUTPUT
Decide ONE of three things:

  SIGNAL — a meaningful behaviour shift, with
  a specific message draft to send.

  WATCH — interesting but not yet decisive;
  log and keep watching.

  NOISE — normal browsing, no action needed.

If SIGNAL, output exactly this structure:
  signal_type: <one of: upgrading, downsizing,
               relocating, family_growth,
               family_split, retirement, none>
  evidence:    <2 short bullets, factual only>
  draft_message: <1-3 sentences, in agent's
                  voice, references the signal
                  obliquely — never names it>

RULES (non-negotiable)
1. Never name the inferred life event
   directly in the message ("noticed you might
   be expecting" is forbidden).
2. The message anchors in a NEW listing or
   market data point, not the client's
   browsing history.
3. The signal must come from at least TWO
   independent sources to count. One data
   point is noise.
4. If signal_type is family_growth or
   family_split, downgrade confidence by one
   tier and produce a softer ask.
5. Voice: warm, casual, observational. Not
   sales-y. Not surveilling.

ANTI-PATTERNS (never produce these)
- Mentioning their saved search behaviour
- Quoting their public posts
- Asking "are you thinking of moving again?"
- Any sentence implying you've been watching

A past client should read the message and
think "huh, good timing" — never "wait, did
you know I'm…?"
Open Claude →

Paste the system prompt as a Claude system message, then feed each past client's nightly snapshot as a user message.

snapshot in · signal out

What Claude returns.

Run the snapshot above through the prompt above. This is the structured output the agent reviews over coffee at 8am.

output · signal classification
signal_type: family_growth
evidence:
  - saved_search shifted from 2-bed Lapa to 3-bed Estoril with garden
  - public post sharing Estoril schools

draft_message:
  Sofia — couple of new builds came on in Estoril
  this week with the kind of layouts you liked at
  Rua da Prata, but bigger. Sending two if you
  want a Saturday look. — A.
about the data

What the radar uses. What it never touches.

Allowed. Listing-portal RSS feeds. Partner portal APIs (Idealista, ImmoScout24, SeLoger, Property Finder, Bayut have varying levels of programmatic access — most permit aggregator queries within their TOS for licensed agents). Public social posts on LinkedIn, Instagram, Twitter/X, Facebook. Public records (deeds, permits, court filings).

Forbidden. Scraped session cookies. Paid people-search dossiers sourcing from breached data. Private DMs, friends-only posts, private profiles. Anything requiring impersonation of the client to obtain. If the client looks up your protocol and reads this list, they should recognise the line — and trust that you're on the right side of it.

Per-region notes. EU agents must comply with GDPR Art. 6(1)(f) legitimate-interest balancing — document the public source of every signal, retain only what's necessary, give clients an opt-out (most agents add a line at closing: “I keep an eye out for new listings that match — let me know if you'd rather I didn't”). LatAm and MENA jurisdictions vary; the safe default is the same.

built around this exact relationship-radar protocol

Watching is step one.
Sending only when it matters is step two.

Lumi is the app that runs this workflow for you. You speak after a showing — Lumi captures the soft signals. You forward an email — Lumi updates the constraints. You open the app at 8am — the brief is already there, ready to feed Claude.

  • Voice → structured CRM, automatically
  • No forms. No data entry. No copy-paste.
  • Free for agents in EU · LatAm · MENA
9:41

Lumi · Wednesday

Good morning, Niki.

Two showings · three leads need a nudge.

Clara Ruiz
Tomorrow 11am showing at Passeig de Gràcia 84 with Clara Ruiz. She wants to bring her partner.
Got it — creating the showing.
Suggested event · 92%

Showing · Passeig de Gràcia 84

Thu · 11:00–11:45Gràcia
What’s the HOA for Apt 4?
€210 per month, covers elevator, concierge, and rooftop.DOC 12
Ask Lumi or speak…
Calendar
Todos
Lumi
Clients
Settings

A real-estate adaptation of the public-signal-listening thesis from CRM and growth-tooling — public data + LLM classification produces actionable intent before the prospect reaches out. Our slice: past-client repeat-transaction signals on listing portals and social.

More guides like this on @lumi.estate. Follow if any of this was useful — it's how we know to keep writing.