AI-Powered Real Estate Platform for Homebuyers & Investors
Homevest is a Next.js application that provides personalized real estate insights using AI advisors. Whether you're a first-time homebuyer or a seasoned investor, Homevest helps you make smarter property decisions with data-driven analysis.
Homebuyer Mode (Sarah AI)
- Personalized affordability analysis based on income, debt, and savings
- 5-year cost projections (insurance, taxes, maintenance, HOA)
- Debt-to-income ratio calculations
- Budget compliance checking
- Neighborhood insights and property comparisons
- Interactive property map with filtering
- Real-time chat with Sarah for property questions
Investor Mode (William AI)
- Cash flow and ROI analysis
- Cap rate and DSCR calculations
- Airbnb potential assessment with tourism scoring
- 5-year investment projections
- Operating expense breakdowns
- Risk assessment and market intelligence
- Comparative property analysis
- AI-Powered Analysis: Gemini 2.5 Flash integration for intelligent property insights
- Firebase Authentication: Secure Google sign-in with user profiles
- Firestore Database: Persistent storage for user preferences and property data
- Solana NFT Minting: Mint property analysis as NFTs on Solana blockchain
- Interactive Maps: Leaflet-based property visualization with clustering
- Responsive Design: Mobile-first UI with Tailwind CSS and Framer Motion
- Real-time Chat: AI advisors (Sarah & William) for property questions
- Framework: Next.js 16 (App Router)
- Language: TypeScript
- Styling: Tailwind CSS 4
- UI Components: Radix UI, shadcn/ui
- Animation: Framer Motion
- AI: Google Gemini 2.5 Flash
- Authentication: Firebase Auth
- Database: Firestore
- Blockchain: Solana Web3.js, Metaplex
- Maps: Leaflet, React Leaflet
- Charts: Recharts
- Testing: Jest, React Testing Library
- Node.js 20+ and npm
- Firebase project with Firestore enabled
- Google Gemini API key
- Solana wallet (for NFT features)
# Clone the repository
git clone <repository-url>
cd homevest
# Install dependencies
npm install
# Set up environment variables
cp .env.example .env.localCreate a .env.local file with the following:
# Firebase Configuration
NEXT_PUBLIC_FIREBASE_API_KEY=your_firebase_api_key
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com
NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_project_id
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your_project.appspot.com
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
NEXT_PUBLIC_FIREBASE_APP_ID=your_app_id
# Google Gemini AI
GEMINI_API_KEY=your_gemini_api_key
# Solana Configuration
NEXT_PUBLIC_SOLANA_NETWORK=devnet
NEXT_PUBLIC_SOLANA_RPC_URL=https://api.devnet.solana.com
# NFT Storage (optional)
NFT_STORAGE_API_KEY=your_nft_storage_key# Run development server
npm run dev
# Run tests
npm test
# Run tests in watch mode
npm run test:watch
# Build for production
npm run build
# Start production server
npm start
# Lint code
npm run lintOpen http://localhost:3000 to view the application.
homevest/
βββ src/
β βββ app/ # Next.js app router pages
β β βββ api/ # API routes
β β β βββ analyze-property/
β β β βββ chat/
β β β βββ compare-properties/
β β β βββ mint-property-nft/
β β βββ auth/ # Authentication pages
β β βββ homebuyer/ # Homebuyer mode pages
β β βββ investor/ # Investor mode pages
β βββ components/ # React components
β β βββ homebuyer/ # Homebuyer-specific components
β β βββ investor/ # Investor-specific components
β β βββ landing/ # Landing page components
β β βββ ui/ # Reusable UI components
β βββ contexts/ # React contexts
β β βββ AuthContext.tsx # Authentication context
β βββ lib/ # Utility libraries
β β βββ aiAnalysis.ts # AI analysis engine
β β βββ investorAnalysis.ts # Investor-specific analysis
β β βββ propertyAnalysis.ts # Property analysis utilities
β β βββ dataStorage.ts # Firestore operations
β β βββ firebase.ts # Firebase configuration
β β βββ solana.ts # Solana/NFT utilities
β βββ assets/ # Static assets
βββ public/ # Public static files
β βββ data/ # Sample property data
βββ data/ # Additional data files
βββ important-data/ # Saved analyses and comparisons
Sarah (Homebuyer Advisor)
- Analyzes affordability based on user's financial profile
- Calculates DTI ratios and monthly payments
- Projects 5-year costs including taxes, insurance, maintenance
- Provides personalized recommendations and warnings
- Considers risk tolerance and time horizon
William (Investor Advisor)
- Evaluates investment potential with ROI metrics
- Calculates cash flow, cap rate, and DSCR
- Assesses Airbnb potential with tourism scoring
- Projects 5-year returns and appreciation
- Provides market intelligence and risk assessment
The analysis system uses Google Gemini AI to generate comprehensive insights:
- Financial Breakdown: Down payment, closing costs, monthly payments
- Income Analysis: DTI ratios, after-housing income
- 5-Year Projections: Insurance, taxes, maintenance, HOA fees
- Market Intelligence: Price comparisons, days on market
- Risk Assessment: Financial, market, and liquidity risks
- Personalized Recommendations: Negotiation strategies, financing options
Properties can be minted as NFTs on Solana:
- Stores property analysis metadata on-chain
- Uses Metaplex for NFT creation
- Supports devnet and mainnet
- Viewable on Solana Explorer
POST /api/analyze-property- Generate AI property analysisPOST /api/chat- Chat with AI advisorsPOST /api/compare-properties- Compare multiple propertiesPOST /api/mint-property-nft- Mint property as NFTPOST /api/save-property-data- Save analysis to FirestoreGET /api/get-user-profile- Fetch user profile
- Sign in with Google
- Complete onboarding (income, debt, savings, preferences)
- Search properties on interactive map
- View AI-powered analysis from Sarah
- Compare multiple properties
- Chat with Sarah for questions
- Save favorite properties
- Mint property analysis as NFT (optional)
- Sign in with Google
- Complete investor onboarding (capital, ROI targets, risk tolerance)
- Search investment properties
- View William's investment analysis
- Assess Airbnb potential
- Compare ROI across properties
- Export analysis reports
- Mint investment analysis as NFT (optional)
# Run all tests
npm test
# Run specific test file
npm test -- ModeSelector.test.tsx
# Run with coverage
npm test -- --coverage# Install Vercel CLI
npm i -g vercel
# Deploy
vercelEnsure all environment variables are set in your deployment platform.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is private and proprietary.
- Google Gemini for AI capabilities
- Firebase for authentication and database
- Solana for blockchain infrastructure
- Zillow for property data inspiration
- shadcn/ui for beautiful components
For questions or issues, please open an issue in the repository.
Built with β€οΈ using Next.js and AI