IREIA is an AI-powered real estate investment platform that helps users make smarter decisions by predicting future property prices and rental trends using machine learning. It integrates live property data via Realty In US and provides interactive visualizations including charts, maps, and investment scoring.
- ๐ Smart Property Search: Search by ZIP code, city, address, or county with dynamic filters.
- ๐ Price Forecasting: Predicts property price trends for the next 3 years using an XGBoost ML model.
- ๐ฐ Rental Estimates: Estimates monthly rental value using a XGBoost and Linear Regression ML model.
- ๐ง Investment Recommendation: Suggests if a property is worth investing based on predicted vs. current price.
- ๐บ๏ธ Interactive Maps: Google Maps integration with pins showing property price, rental price and investment status.
- ๐ Visual Charts: Future price and rent charts generated using Chart.js.
- ๐ถ Walk & Transit Scores: Displays livability metrics using animated circular charts.
- ๐ซ Nearby Schools: Automatically shows schools near the selected property using Google Places API.
- ๐ธ High-Resolution Images: Image enhancement logic ensures better property visuals.
- ๐งพ Detailed Property View: Dedicated page per property with complete ML insights, images, and maps.
- ๐ Live Data Integration: Uses the Realty In US to fetch real-time property data dynamically.
- Python with Flask โ for handling API requests and ML model predictions
- XGBoost โ machine learning model for price and rent forecasting
- Realty In US API โ to fetch live property data
- Google Places API โ to get nearby schools
- React.js โ for building dynamic user interfaces
- Google Maps JavaScript API โ for visualizing properties with location pins
- Chart.js โ for rendering price and rent forecast charts
- react-circular-progressbar โ to display walk, and transit scores
- Material UI & Custom CSS โ for styling components
- Netlify โ for frontend deployment
- Render โ for backend hosting
- GitHub โ for version control and code documentation
The IREIA system is built using a modular architecture consisting of three primary components:
- Built with React.js
- Allows users to search for properties by ZIP code, city, address, or county
- Displays featured properties, predicted prices, and rental estimates
- Shows dynamic maps, charts, and investment scores
- Deployed via Netlify
- Implemented in Python using Flask
- Exposes RESTful endpoints for:
/search_propertyโ fetch and predict properties by location/predict_priceโ ML-based price forecasting/predict_rentโ ML-based rental forecasting
- Fetches data from Realty In US API in real time
- Deployed via Render
- Trained using XGBoost
- Uses features like: Year, Month, Crime Rate, Sentiment Score, Beds, Baths, Sqft, Price
- Predicts:
- Property prices for the next 3 years
- Monthly rental estimates
- Integrated into backend to provide instant predictions on API call
- User enters a location in the React UI
- Frontend sends a POST request to Flask backend
- Flask fetches property data from Realty In US API
- ML model runs predictions on property price & rent
- Results sent back to React frontend and rendered as charts, scores, and cards
To get started with the IREIA (Intelligent Real Estate Investment Advisor) platform locally, follow the setup steps for both backend (Flask) and frontend (React). Make sure you have all prerequisites installed.
- Python 3.10 or higher
- Node.js 16 or higher
- npm (Node Package Manager)
- Git
- API keys for:
- Realty In US API (RapidAPI)
- Google Maps JavaScript API
-
Clone the repository and navigate to the backend directory:
git clone https://github.com/your-username/IREIA.git cd IREIA -
Create a virtual environment and activate it:
python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate
-
Install all required Python packages:
pip install -r requirements.txt
-
Run the Flask backend server:
python app.py
The backend server will be live at:
http://127.0.0.1:5000
-
Open a new terminal window, then navigate to the frontend folder:
cd my-real-estate-app -
Install the necessary npm dependencies:
npm install
-
Start the React development server:
npm start
The frontend will be accessible at:
http://localhost:5173
This section outlines the major files, scripts, and modules used across both backend and frontend of the IREIA project. Each component is documented with its purpose to help future contributors understand the codebase structure and responsibilities.
IREIA/
โโโ app.py # Main Flask application entry point
โโโ requirements.txt # Backend Python dependencies
โโโ .env.ireia # Backend environment variables
โโโ backend/
โ โโโ property-price-prediction/
โ โโโ property_price_predictor.py # ML logic for property price prediction
โโโ ml_models/
โ โโโ price-prediction-model/
โ โโโ xgboost/
โ โโโ xgboost_final_model.pkl # Trained XGBoost model
โ โโโ xgboost_price_predictor.py # XGBoost inference logic
โโโ rental_prediction_app/
โ โโโ rental_model.pkl # Trained rental model
โ โโโ rental_scaler.pkl # Scaler used during training
โ โโโ rental_model.py # Rental prediction logic
โ โโโ rental_feature_importance.png # Rental feature visualization
โโโ my-real-estate-app/
โ โโโ public/ # Static assets (index.html, favicon)
โ โโโ src/
โ โโโ components/ # Reusable UI: Navbar, Footer, etc.
โ โโโ pages/ # Main pages: HomePage, SearchPage, PropertyPage
โ โโโ styles/ # CSS styles scoped to components/pages
โ โโโ utils/
โ โ โโโ maps.js # Google Maps logic and pins
โ โโโ App.js # Main React component
โ โโโ index.js # Entry point
โ โโโ .env # Frontend environment configs
โโโ package.json # React project dependencies
โโโ README.md # Project documentation
-
app.py: Main Flask server that defines routes like:/search_property: Processes location input and returns matching properties./predict_price: Calls XGBoost model for property price prediction./predict_rent: Returns rental estimate using XGBoost model.
-
requirements.txt: Lists dependencies:Flask,XGBoost,scikit-learn,pandas, etc. -
backend/property-price-prediction/property_price_predictor.py:- Contains helper logic to load and invoke the trained XGBoost model for price predictions.
-
ml_models/price-prediction-model/xgboost/xgboost_price_predictor.py:- Main inference script for property price prediction.
- Loads
xgboost_final_model.pkland preprocesses input features.
-
xgboost_dynamic_predictor.py:- Supports predictions for dynamically changing inputs during experimentation.
-
saved_models/:- Stores serialized trained XGBoost models.
-
rental_prediction_app/rental_model.py:- Loads rental XGBoost model and returns monthly rent estimates.
- Uses rental feature importance for explainability.
-
rental_model.pkl,rental_scaler.pkl:- Serialized machine learning models and scalers for rent prediction.
-
components/
Navbar.js,Footer.js: UI shell components.PropertyCard.js: Renders property summaries with images, prediction, and tags.SearchBar.js: Handles input for location-based search.
-
pages/
HomePage.js: Detects geolocation, fetches and renders featured properties.SearchPage.js: Displays search results and Google Maps pins.PropertiesPage.js: Fetches properties based on location or lat/lng.PropertyPage.js: Displays full details, charts, map, and walk/transit/investment scores.
-
styles/: CSS modules for scoped styling:
PropertyPage.css,SearchPage.css,HomePage.css, etc.
-
utils/maps.js:
- Initializes and styles Google Maps view and pins with property prices and colors.
-
App.js: Top-level routing using React Router.
-
index.js: React root renderer.
-
Image Quality Optimization:
- In
PropertyCard.jsandPropertyPage.js, we dynamically rewrite low-resolution image URLs from Realty In US API to fetch high-res alternatives using suffix patterns (-t.jpg โ -o.jpg,-m.jpg โ -mx.jpg, etc.).
- In
-
Chart.js Integration:
PropertyPage.jsuses Chart.js to visualize future price and rent trends.- Shows combined historical and forecast data interactively.
-
Scoring Indicators:
PropertyPage.jsshows investment score, walk score, and transit score usingreact-circular-progressbar.
-
Smart Recommendation Badges:
- Property cards display โOverpricedโ, โWorth Investingโ, etc., based on model recommendation.
-
Local Storage-Based Routing:
- Selected property info is passed between pages via
localStorage.
- Selected property info is passed between pages via
-
Resilient Map Rendering:
- Google Maps initialized on page load with fallback logic if
window.google.mapsis delayed.
- Google Maps initialized on page load with fallback logic if
IREIA helps users find and evaluate real estate investment opportunities using AI-powered price and rent forecasts, live API data, and visual insights.
You can run the app in two ways:
Follow the setup instructions in the โ๏ธ Setup Instructions section to run the backend and frontend locally.
If hosted on a platform like Render/Netlify, simply open the live URL in a browser.
- Auto-detects your location and displays nearby featured properties.
- Includes a search bar to look up properties by ZIP, city, address, or county.
- Displays properties matching the searched location or filter.
- Shows a scrollable list of properties alongside an interactive Google Map.
- Pins are colored based on investment recommendation.
Click on any property card to view:
- Full property details including price, rent, beds, baths, etc.
- Charts for future price and rent predictions.
- Walk & Transit scores visualized as circular meters.
- A Google Map with the selected property and nearby schools.
| Feature | Description |
|---|---|
| ๐ฎ Price Forecast | 3-year price and rent predictions powered by XGBoost |
| ๐บ๏ธ Map View | Pins show real-time investment tags |
| ๐ฌ Recommendation Badge | Indicates if a property is Worth Investing or Overpriced |
| ๐ Interactive Charts | Chart.js-based graphs for trends |
| ๐ School Insights | Nearby schools fetched via Google Places API |
- Hover over map pins to see quick stats.
- Use browser DevTools for debugging fetch/API issues.
- Press
Ctrl + Shift + Rto hard-refresh and clear cache if needed.
-
Realty In US API โ Live property listings, pricing, rental data
๐ https://rapidapi.com/apidojo/api/Realty In US -
Google Maps JavaScript API โ Interactive map with location pins
๐ https://developers.google.com/maps/documentation/javascript -
Google Places API โ Nearby school detection
๐ https://developers.google.com/maps/documentation/places/web-service/overview
-
Flask โ Python web framework for backend APIs
๐ https://flask.palletsprojects.com/ -
XGBoost โ Gradient boosting model for price prediction
๐ https://xgboost.readthedocs.io/ -
React.js โ Frontend JavaScript library for UI
๐ https://reactjs.org/ -
Chart.js โ Data visualization (line and bar charts)
๐ https://www.chartjs.org/ -
React Circular Progressbar โ For visual scoring meters
๐ https://www.npmjs.com/package/react-circular-progressbar
- Zillow โ Real estate layout and recommendation system inspiration
๐ https://www.zillow.com/
- Developed by: Jacob Jashwanth Patoju, Gnana Sahiti Nambeti, Hemanth Kumar Goud Gudidevuni
For CS682: Intelligent Real Estate Systems (Spring 2025), UMass Boston
Lead Full Stack AI Developer
- Designed full-stack real estate prediction platform
- Built and integrated XGBoost-based property price prediction model
- Developed interactive React frontend with maps, charts, and forecasts
Data Scientist
- Developed a rental income optimization model using supervised machine learning algorithms
- Engineered ML pipelines and integrated data API to retrieve real-time data for analysis and predictive modeling
- Visualized property price trends for actionable insights
Web Developer
- Integrated location metrics like walk and transit scores to simulate real-world investment insight
- Mapped scoring results to the frontend interface to visually guide user decisions
- Collaborated on testing and refining score logic to align with the platformโs predictive models
- Add login/signup and user authentication for personalized dashboards
- Enable users to save and bookmark favorite properties
- Integrate additional insights like crime rate, neighborhood sentiment score, and property tax history
- Extend support to commercial properties with ROI-based investment analysis
- Build a mobile app version of the platform for cross-device accessibility
MIT License (for academic use only)
- ๐ Frontend (Netlify): https://681a84ffbdbadc81be5ff226--ireia3a.netlify.app/
- ๐ Backend (Render): https://ireia.onrender.com