Real Estate: Natural Language Search Without LLM Overhead
The Challenge
A client builds tools for real estate agents. Their property search interface had a hundred checkboxes for filters:
- Location (neighborhood, city, zip)
- Property type (house, condo, land)
- Bedrooms, bathrooms
- Price range
- Features (pool, garage, fireplace, etc.)
- Square footage
- Lot size
- And dozens more…
The problem: No buyer is going to scroll through a hundred checkboxes to find “house in Condesa with private pool and 3+ bedrooms under $500k.”
They needed natural language search. But they didn’t need the overhead, cost, and unpredictability of running every search query through an LLM.
Our Solution
We built a deterministic natural language processing pipeline that:
1. Parses Queries Intelligently Someone types: “house in Condesa with private pool”
The system:
- Identifies location: “Condesa”
- Identifies property type: “house”
- Identifies features: “private pool”
- Maps to structured database filters
No LLM required. No API calls. Millisecond response times.
2. Handles Complex Queries Example: “3 bedroom condo in Roma Norte under $400k with parking and balcony”
Extracts:
- Property type: condo
- Location: Roma Norte
- Bedrooms: 3+
- Price: < $400,000
- Features: parking, balcony
3. Understands Synonyms and Variations
- “pool” = “swimming pool” = “alberca” = “piscina”
- “parking” = “garage” = “car space” = “estacionamiento”
- “cheap” → price sort ascending
- “luxury” → price filter high-end
4. Works in Multiple Languages Handles Spanish and English queries interchangeably:
- “casa en Condesa con alberca” → same result as English equivalent
5. Delivers Results Fast
- Query parsing: < 10ms
- Database query: 50-200ms depending on result set
- Total response time: Under 300ms
Compare to LLM-based approach:
- API call to GPT/Claude: 500-2000ms
- Cost per query: $0.001-0.01
- Risk of hallucinating features that don’t exist
Then They Wanted Chat and Voice Bots
After seeing the search system, the client asked for:
- Website chat bot
- WhatsApp integration
- Voice bot for phone inquiries
We wired them into the same deterministic pipeline:
Chat Bot Flow:
- User: “I’m looking for a house in Polanco with a pool”
- Bot: “I found 12 houses in Polanco with pools. Would you like to filter by price range or number of bedrooms?”
- User: “Under $800k, 3 bedrooms”
- Bot: Returns 4 matching properties with photos, details, agent contact
Voice Bot Flow:
- Caller: “Do you have any condos available in La Condesa?”
- Bot: “Yes, we have 23 condos in La Condesa. What’s your budget?”
- Caller: “Around 5 million pesos”
- Bot: “I found 8 condos in that range. I can send them to your email or connect you with an agent. Which would you prefer?”
Key Principle: All bots use the same deterministic search backend. Answers stay consistent across text, chat, and voice.
Technical Implementation
NLP Pipeline:
- Intent classification (searching, asking about neighborhood, scheduling tour, etc.)
- Entity extraction (location, price, features, property type)
- Synonym mapping and normalization
- Query construction and database execution
Technologies:
- spaCy for NLP (no LLM required)
- Custom entity recognition trained on real estate terminology
- PostgreSQL full-text search with geographic extensions
- FastAPI backend
- Deployed on client’s infrastructure
Multi-Modal Integration:
- Web widget (JavaScript)
- WhatsApp Business API
- Twilio voice bot
- All hit the same backend API
Deployment:
- Hosted on client’s Google Cloud account
- Complete control over data
- No external API dependencies
- Full source code and documentation provided
Results
Before:
- Checkbox filters had <10% usage (too complex)
- Most users called agents directly with their criteria
- Agents spent hours manually searching listings
After:
- Natural language search used by 70%+ of visitors
- Chat bot handles first-pass property matching
- Voice bot qualifies leads before routing to agents
- Agents focus on high-value activities (tours, negotiations)
Performance Metrics:
- Search response time: <300ms (vs 1-2s with LLM approach)
- Cost per query: ~$0.0001 (vs $0.001-0.01 with LLM)
- Zero hallucinations (deterministic = truthful results)
- Multi-language support with same codebase
ROI:
- Agent time savings: ~15 hours/week per agent
- Lead qualification improved (bots collect budget/needs upfront)
- User satisfaction up (instant results, no checkbox fatigue)
Key Takeaway
Not every natural language problem needs an LLM.
When you have structured data (properties, products, inventory) and predictable queries, deterministic NLP delivers:
- Faster responses
- Lower cost
- Complete accuracy (no hallucinations)
- Full control (no external API dependencies)
We use LLMs when they add value. We don’t use them as a hammer for every problem.