Leasa is an AI-powered real estate agent application that connects landlords with tenants. It uses Gemini 2.0 to understand natural language queries and match properties with tenant requirements.
- List properties with detailed descriptions
- Specify tenant preferences and requirements
- AI-powered matching with suitable tenants
- Chat with an AI agent to find suitable properties
- Ask questions about properties, locations, and neighborhoods
- Get personalized property recommendations
The project consists of two main parts:
- Backend: FastAPI server with Gemini 2.0 integration
- Frontend: React application with a user-friendly interface
- Python 3.8+ (for backend)
- Node.js 14+ (for frontend)
- Gemini API key
-
Navigate to the backend directory:
cd backend
-
Install the required dependencies:
pip install fastapi uvicorn google-generativeai pydantic
-
Set up your Gemini API key:
# On Windows set GEMINI_API_KEY=your_api_key_here # On macOS/Linux export GEMINI_API_KEY=your_api_key_here
-
Start the backend server:
uvicorn main:app --reload
-
Navigate to the frontend directory:
cd leasa-frontend
-
Install the required dependencies:
npm install
-
Start the frontend development server:
npm start
-
Open your browser and navigate to:
http://localhost:3000
- Navigate to the "For Landlords" section
- Fill out the property listing form with:
- Property address
- Property description
- Tenant specifications and preferences
- Submit the form to list your property
- Navigate to the "For Tenants" section
- Chat with the AI agent about your housing needs
- Ask questions about properties and locations
- View recommended properties that match your requirements
-
Backend:
- FastAPI (Python web framework)
- Gemini 2.0 (Google's generative AI)
- JSON files for data storage
-
Frontend:
- React (JavaScript library)
- React Router (for navigation)
- Axios (for API requests)
- CSS (for styling)
This is a demo application with the following limitations:
- Uses simple JSON files for data storage instead of a database
- Limited error handling and validation
- No authentication or user management
- Placeholder images for properties
- Add user authentication and accounts
- Implement a proper database
- Add property images and file uploads
- Integrate with maps and location services
- Add voice interaction capabilities