Chat-based property search using natural language instead of filters.
Type "2BHK in Mumbai" and get matching properties with summary and cards.
- Streamlit - Chat UI (faster than React for prototype)
- Pandas - Data processing
- Regex - Query parsing (task suggested regex/rule-based instead of LLM APIs)
├── app.py # Main app
├── query_parser.py # Extracts filters
├── search_engine.py # Searches data
├── summary_generator.py # Creates summaries
├── requirements.txt # Dependencies
└── data/ # 4 CSV files with property data
pip install -r requirements.txt
streamlit run app.py
- 2BHK in Mumbai
- 3BHK in Pune under 2 Cr
- Properties in Chembur
- Parse query using regex to extract city, BHK, budget, status
- Filter CSV data based on extracted parameters
- Generate summary from actual results (no hallucinations)
- Display property cards
Streamlit over React: Faster development, Python-based, good for prototype
Regex over LLM: Task recommended regex/rule-based parsing. Works well for structured queries, no API costs
CSV over Database: Simple for prototype, easy to switch to PostgreSQL later
For production:
- Add semantic search using embeddings for better query understanding
- Implement fuzzy matching for typos
- Add more cities and localities
- Include property images
- Add filters for amenities (gym, pool, parking)
- Implement user authentication and saved searches
- Add comparison feature
- Include EMI calculator
Technical improvements:
- Move to PostgreSQL for better performance
- Add caching layer (Redis)
- Implement API rate limiting
- Add analytics tracking
- GitHub: https://github.com/maheshh-v/nobrokerage-chatbot
- Live Demo: https://nobrokerage-chatbot.streamlit.app
Built by Mahesh Vyas for NoBrokerage.com