Your AI Companion in Real Estate
- HTML Mirror: https://roxanneardary.com/casabot-specification/
CasaBot is an open-source AI-powered real estate specification for continuously monitoring supported property listings, matching properties to user-defined requirements, tracking market activity, and delivering personalized property alerts and market intelligence.
CasaBot is designed to transform the home search process from a manual, repetitive activity into a continuous intelligent monitoring system.
Users define what they are looking for, including location, price range, property characteristics, and custom requirements. CasaBot monitors supported and authorized real estate listing sources, identifies relevant properties and market changes, and provides timely information through alerts, reports, dashboards, and an AI real estate assistant.
CasaBot is designed to support home buyers, investors, real estate professionals, researchers, and other users who need continuous visibility into real estate markets.
The system shall allow users to create and manage one or more property search profiles.
Each search profile may include:
- ZIP code
- City
- Neighborhood
- Geographic boundaries
- Price range
- Minimum price
- Maximum price
- Bedrooms
- Bathrooms
- Property type
- Square footage
- Lot size
- Year built
- Garage requirements
- Waterfront requirements
- HOA requirements
- Pool requirements
- Number of stories
- Accessibility requirements
- School-area preferences where supported
- Custom property requirements
- Custom exclusions
- Preferred listing status
- Other user-defined search criteria
Users shall be able to modify, pause, activate, duplicate, and delete search profiles.
The system shall support multiple simultaneous search profiles.
CasaBot shall support integrations with authorized and permitted real estate listing data sources.
Supported sources may include:
- MLS data feeds
- RESO-compatible data services
- Public real estate APIs
- Government property data
- Publicly available property records
- Authorized brokerage feeds
- Other legally permitted listing sources
Each source connector shall operate independently so that additional sources can be added without redesigning the core system.
The system shall identify the source of every listing and preserve source-specific metadata where permitted.
CasaBot shall not assume that a third-party website permits automated collection. Data acquisition shall comply with applicable terms, licensing requirements, access restrictions, and data-use agreements.
The listing ingestion system shall continuously retrieve new and updated property information from supported sources.
The system shall:
- Retrieve new listings
- Retrieve updated listings
- Detect removed listings where source information permits
- Detect price changes
- Detect listing status changes
- Detect changes to property attributes
- Record listing timestamps
- Record source timestamps
- Preserve historical changes
- Validate incoming data
- Handle incomplete listing information
- Handle temporary source failures
- Retry failed ingestion operations
- Prevent duplicate records
The ingestion system shall support scheduled and continuous monitoring.
CasaBot shall normalize information from different listing sources into a consistent property representation.
Normalization shall include:
- Property addresses
- Geographic coordinates
- Listing identifiers
- Listing status
- Property type
- Price
- Bedrooms
- Bathrooms
- Square footage
- Lot size
- Year built
- Listing dates
- Modification dates
- Days on market
- Price history
- Property features
- Source information
The system shall retain source-specific information when normalization would otherwise remove useful context.
CasaBot shall identify potential duplicate listings across supported data sources.
The module shall use available information such as:
- Address
- Parcel information
- Geographic coordinates
- Listing identifiers
- Property characteristics
- Source information
- Listing history
The system shall maintain relationships between duplicate records while preserving the original source records.
CasaBot shall provide geographic property searching and analysis.
The module shall support:
- ZIP-based searches
- City-based searches
- Neighborhood searches
- Radius searches
- Boundary searches
- Distance calculations
- Geographic filtering
- Location-based matching
- Geographic market analysis
The system shall allow users to define geographic requirements independently from other property criteria.
CasaBot shall compare incoming and existing listings against saved user search profiles.
Matching shall consider:
- Location
- Price
- Bedrooms
- Bathrooms
- Property type
- Square footage
- Lot size
- Year built
- Property features
- Custom requirements
- User exclusions
- Listing status
The system shall distinguish between exact matches, partial matches, and near matches.
The system may rank matching properties according to the degree to which they satisfy the user's requirements.
CasaBot shall support semantic and contextual property matching in addition to exact field matching.
The system may interpret natural-language requirements such as:
- "I want a quiet neighborhood."
- "Find homes with enough room for a workshop."
- "Show me properties that are good candidates for a large garden."
- "Find homes that recently became affordable."
- "Prioritize properties with waterfront access."
The system shall identify the underlying requirements and compare them with available listing information.
Matching explanations shall identify why a property was considered relevant.
CasaBot shall continuously monitor property pricing.
The module shall detect:
- New listing prices
- Price reductions
- Price increases
- Repeated price changes
- Properties entering a user's price range
- Properties leaving a user's price range
- Historical pricing
- Significant pricing changes
Users shall be able to receive alerts when a previously unsuitable property becomes eligible because of a price change.
CasaBot shall monitor supported listing status changes.
The system shall identify changes such as:
- Active
- Pending
- Under contract where supported
- Sold
- Withdrawn
- Expired
- Temporarily unavailable
- Other source-supported statuses
The system shall preserve status history when the source provides sufficient information.
CasaBot shall analyze real estate market activity within user-selected geographic areas and time periods.
Analytics may include:
- Active listing counts
- Pending listing counts
- Sold listing counts
- New listing counts
- Price reductions
- Median listing price
- Average listing price
- Median sold price
- Average sold price
- Price per square foot
- Median price per square foot
- Days on market
- Median days on market
- Inventory levels
- Listing velocity
- Sale velocity
- Price trends
- Inventory trends
- Market activity trends
The system shall allow users to compare current conditions with historical periods when sufficient data is available.
CasaBot shall analyze market direction and provide understandable explanations of observed trends.
The system shall evaluate available indicators including:
- Price movement
- Inventory changes
- Days on market
- Listing volume
- Pending activity
- Sales activity
- Price reductions
- New listings
- Sale-to-list relationships where data is available
The system may classify market conditions using descriptive categories such as:
- Rising
- Falling
- Stable
- Mixed
- Increasingly competitive
- Increasingly buyer-friendly
- Increasingly seller-friendly
Trend conclusions shall identify the underlying data used to produce the interpretation.
CasaBot shall monitor how long properties remain listed.
The system shall provide:
- Individual property days on market
- Average days on market
- Median days on market
- Historical days-on-market trends
- Comparisons by property type
- Comparisons by geographic area
- Comparisons by price range
Where supported by source data, the system shall distinguish between original listing periods and relisted properties.
CasaBot shall measure available housing inventory.
The module shall provide:
- Active inventory
- Pending inventory
- Recently sold inventory
- New inventory
- Inventory changes over time
- Inventory by property type
- Inventory by price range
- Inventory by geographic area
The system shall identify meaningful changes in available inventory.
CasaBot shall generate concise summaries of individual properties.
A property summary may include:
- Asking price
- Location
- Property characteristics
- Listing status
- Days on market
- Recent price changes
- Important features
- Potential concerns based on available listing information
- Comparable market context
- Reasons the property matches the user's criteria
The system shall distinguish factual listing information from AI-generated interpretation.
CasaBot shall provide a natural-language interface for asking questions about properties and real estate markets.
Users may ask questions such as:
- "Is this market trending up or down?"
- "How fast are homes selling in this area?"
- "How many active listings are there?"
- "How many homes are pending?"
- "How many homes sold recently?"
- "What is the average price per square foot?"
- "Why did this property match my search?"
- "Which homes had recent price reductions?"
- "What properties entered my price range today?"
- "Which neighborhoods have the lowest median prices?"
- "Are homes taking longer to sell?"
Responses shall be grounded in available listing and market data.
CasaBot shall generate scheduled real estate reports.
Reports may include:
- New matching listings
- Newly matching properties
- Price reductions
- Properties entering the user's price range
- Status changes
- Market inventory
- Active listings
- Pending listings
- Sold listings
- Days-on-market statistics
- Price trends
- Significant market changes
- AI-generated market commentary
Users shall be able to configure report frequency where supported.
CasaBot shall provide configurable notifications.
Alerts may be triggered by:
- New matching listings
- Price reductions
- Price increases
- A property entering the user's price range
- Listing status changes
- Properties going pending
- Properties being sold
- Significant market changes
- Inventory changes
- Custom user-defined conditions
Users shall be able to configure which events generate notifications.
CasaBot shall support delivery of daily and scheduled reports by email.
Email reports shall be formatted for readability and may include:
- Property summaries
- Listing links where available
- Price information
- Market statistics
- Price changes
- Status changes
- User-specific recommendations
- Market trend summaries
The system shall allow users to control report frequency and notification preferences.
CasaBot shall provide a centralized interface for reviewing real estate activity.
The dashboard shall provide access to:
- Saved searches
- Matching properties
- New listings
- Price reductions
- Listing status changes
- Market statistics
- Market trends
- Daily reports
- Alerts
- Property details
- Search history
- Market history
Users shall be able to filter and sort information according to their search criteria.
CasaBot shall allow users to compare multiple properties.
Comparisons may include:
- Price
- Price per square foot
- Bedrooms
- Bathrooms
- Square footage
- Lot size
- Year built
- Days on market
- Price changes
- Property features
- Listing status
- Location
- Market context
The system may provide an AI-generated comparison summary while clearly separating analysis from source data.
CasaBot shall preserve historical market and listing information where permitted.
Historical data may include:
- Previous prices
- Previous listing statuses
- Previous listing dates
- Days on market
- Market inventory
- Sales activity
- Price trends
- Listing activity
Historical records shall support market analysis and trend detection.
CasaBot shall maintain provenance information for property and market data.
The system shall track, where available:
- Data source
- Source listing identifier
- Retrieval timestamp
- Source update timestamp
- Transformation history
- Matching inputs
- Analytical inputs
- Report generation inputs
AI-generated conclusions shall be distinguishable from source data.
CasaBot shall provide users with control over their search profiles, alerts, reports, and personal preferences.
The system shall support:
- User-controlled search profiles
- User-controlled notifications
- Data minimization
- Secure handling of account information
- Deletion of user-controlled data where applicable
- Clear separation between user data and public property information
The system shall avoid collecting personal information that is unnecessary for the requested functionality.
CasaBot shall monitor the health and reliability of connected listing sources.
The system shall identify:
- Source availability
- Failed requests
- Delayed updates
- Missing data
- Invalid data
- Authentication failures
- Rate-limit conditions
- Connector errors
Source problems shall not silently appear as complete or accurate market information.
Authorized administrators shall be able to monitor system operations.
Administrative capabilities may include:
- Source status
- Ingestion status
- Processing failures
- Alert delivery status
- Report generation status
- Data quality issues
- System activity
- Connector configuration
- User-defined operational settings
CasaBot shall use modular interfaces so that new data sources, analytical capabilities, notification channels, and AI functions can be added without requiring changes to unrelated core functionality.
Modules shall communicate through defined interfaces and data contracts.
Provides additional authorized listing feeds and property data sources.
Provides integration with specific MLS systems or licensed MLS data services where authorized.
Adds permitted public property record information for additional property intelligence.
Provides mortgage payment estimates, financing scenarios, affordability calculations, and loan comparisons.
Provides optional automated valuation analysis using available market and property data.
Identifies and analyzes comparable properties and recent sales.
Provides optional rental, cash-flow, return, and investment analysis for users evaluating properties as investments.
Provides optional forecasting and predictive analytics based on historical market data.
Predictions shall be clearly identified as estimates rather than guaranteed outcomes.
Adds advanced geographic visualization including:
- Property maps
- Market heatmaps
- Price-per-square-foot maps
- Inventory maps
- Days-on-market maps
- Market trend maps
Adds permitted school-area information for geographic analysis.
The plugin shall clearly identify the source and date of school-related data.
Adds neighborhood-level analysis using permitted demographic, market, geographic, and public data.
Adds additional notification channels such as:
- SMS
- Push notifications
- Webhooks
- Messaging platforms
- Other supported notification services
Allows users to add property-related reminders, showings, inspections, deadlines, and other events to supported calendar services.
Provides optional voice interaction with the CasaBot real estate assistant.
Provides deeper research capabilities for properties, neighborhoods, market conditions, and user-defined questions.
Allows users to analyze supported real estate documents and extract relevant information.
Provides expanded visual and analytical history for listing price, status, and property changes.
Allows users to create advanced property-matching rules beyond the standard search criteria.
Provides optional features for real estate professionals working with clients, including shared searches, client alerts, and property recommendations.
Allows users to export permitted property and market information into supported formats.
Provides programmatic access to permitted CasaBot data and functionality.
Provides optional local or self-hosted AI processing for users who want greater control over sensitive search information and AI interactions.
- Fully AGPL-3.0+ compliant system
- Copyleft enforced for network deployments
- Required attribution:
- Roxanne Ardary
- https://www.roxanneardary.com/
- Specification Branding License (SBL)
- Attribution-free commercial deployment
- Pricing based on scale, usage, and deployment scope
- https://roxanneardary.com/casabot/
CasaBot is released under the GNU Affero General Public License v3.0 or later (AGPL-3.0+).
By contributing to this project, you agree that your contributions will also be released under this license.
Please note the following:
- All contributions must comply with the AGPL-3.0+ terms.
- Under Section 7 of the license, all redistributions, forks, and derivative works must preserve attribution to:
Roxanne Ardary and roxanneardary.com. - CasaBot specificiations are free to use with attribution. A Specification Branding License can be negotiated upon request.
- The project's notice.md file tracks attribution requirements and contributor acknowledgments.
Any update that adds new contributors or modifies attribution should also updatenotice.md. - When submitting a pull request, ensure that any new files maintain the attribution headers where applicable.
- Network-deployed versions of this software must also remain fully AGPL-3.0+ compliant, including exposure of source code modifications when applicable under the license.
For full legal details, please refer to the AGPL-3.0+ license and the project's notice.md file.
Open Arsenal Hub
https://gitlab.com/Roxanne_Ardary/open-arsenal-specs