Gemini's Project Analysis: Easy Islanders
Describes the architecture, tech stack, and directory layout of a real estate platform with an AI chat assistant and intent router.
What this file does
Describes the architecture, tech stack, and directory layout of a real estate platform with an AI chat assistant and intent router.
When to use it
- Onboarding to the Easy Islanders project as a new developer
- Documenting a project's high-level design for team reference
- Planning contributions by understanding core components and next steps
Assumes this stack
Gemini's Project Analysis: Easy Islanders
This document outlines my understanding of the Easy Islanders project, its architecture, and my plan for contributing.
Project Overview
Easy Islanders is a real estate platform that connects property sellers with potential buyers and renters. The platform features a chat-based interface where an AI-powered agent assists users in finding properties that match their needs. The system is designed to handle both short-term and long-term rentals, with a clear distinction between the two.
The core of the application is a Django-based backend with a PostgreSQL database. The frontend is built with React. The project also includes a sophisticated intent routing system that uses a combination of machine learning and rule-based approaches to understand user queries and route them to the appropriate agent or service.
Key Technologies
- Backend: Django, Django Rest Framework, Python
- Frontend: React, JavaScript, Axios
- Database: PostgreSQL with PostGIS for geospatial queries
- AI/ML: scikit-learn, OpenAI (optional)
- Real-time Communication: Django Channels, WebSockets
- Authentication: JWT, HttpOnly Cookies
- Deployment: Docker, fly.io
Directory Structure
assistant/: The core Django app for the AI assistant, including models, views, and services.easy_islanders/: The main Django project, including settings and URL configurations.frontend/: The React frontend application.real_estate/: A Django app for managing property listings and availability.scripts/: Various scripts for tasks like seeding the database and evaluating the router.docs/: Project documentation, including API contracts and architectural diagrams.
Core Components
1. AI Assistant & Intent Router
The AI assistant is the primary user interface for the platform. It uses a sophisticated intent router to understand user queries and determine the user's intent. The router is trained on a corpus of user utterances and can distinguish between different types of requests, such as property searches, booking inquiries, and general questions.
2. Real Estate App
The real_estate app manages property listings, including details about the property, pricing, and availability. The app supports both short-term and long-term rentals, with a clear data model to differentiate between the two.
3. Authentication & Authorization
The application uses a secure authentication system based on JWTs and HttpOnly cookies. This approach provides protection against common web vulnerabilities like XSS and CSRF.
4. Real-time Communication
WebSockets are used for real-time communication between the frontend and backend, enabling features like live chat and notifications.
Next Steps
My immediate goal is to familiarize myself with the codebase and the development workflow. I will start by:
- Running the project locally: I will follow the instructions in the
README.mdfile to set up the development environment and run the application on my local machine. - Exploring the frontend: I will examine the React components and the overall structure of the frontend application to understand how it interacts with the backend.
- Diving into the assistant app: I will study the
assistantapp to understand how the AI assistant works, including the intent router and the different agent services. - Contributing to the project: Once I have a solid understanding of the project, I will look for opportunities to contribute, such as fixing bugs, adding new features, or improving the documentation.
What's inside
7 sections: overview, technologies, directory structure, 4 core components, next steps
Change this for your project
- Replace
Easy Islanderswith your project name - Replace
templeobijnr/easy_islanders_projectwith your repository path - Replace
assistant/,real_estate/,easy_islanders/with your app names
Where it goes
Keep it in your repository where the agent or team that needs it will read it.
Worth borrowing
- Separating intent routing logic into its own module for maintainability
- Using a dedicated docs/ folder for API contracts and architectural diagrams
Related Documents
Totem — Development Rules
Defines team-wide conventions for a pnpm monorepo: branch strategy, commit rules, tooling, and a mandatory knowledge-search workflow before coding.
MechCAD-MLLM
Proposes a MLLM + dual-decoder architecture for mechanical CAD generation, combining Drawing2CAD and CAD-GPT ideas.
Prompt Generator
Generates Stable Diffusion and Flux prompts via Qwen3-8B on Ollama, with a Gradio UI and CLI.
Agent Instructions
Defines a three-layer architecture (directive, orchestration, execution) for AI agents that self-anneal errors and update living SOPs.