A multi-tenant real estate platform connecting agents, homeowners, and vendors through AI-powered interfaces. Built on Next.js 15, React 19, Supabase, with Claude Sonnet 4 and Vapi voice AI.
- Node.js 18+
- npm or yarn
- Supabase account
- Anthropic API key (for Claude/Greg)
- Vapi API key (for Riley voice AI)
- Install dependencies:
npm install- Set up environment variables:
cp .env.example .env.localThen edit .env.local with your actual credentials.
- Run the development server:
npm run devOpen http://localhost:3000 to see the application.
plot/
├── app/ # Next.js 15 app directory
│ ├── (auth)/ # Authentication pages
│ ├── (public)/ # Public marketing pages
│ ├── dashboard/ # Agent dashboard
│ ├── portal/ # Client portal
│ ├── vendor/ # Vendor dashboard
│ ├── member/ # Public member dashboard
│ └── api/ # API routes
├── components/ # React components
│ ├── ui/ # Base UI components
│ ├── dashboard/ # Agent dashboard components
│ ├── portal/ # Portal components
│ └── shared/ # Shared components
├── lib/ # Utilities and helpers
│ ├── supabase/ # Supabase client setup
│ ├── utils.ts # Helper functions
│ └── constants.ts # App constants
├── types/ # TypeScript type definitions
└── styles/ # Global styles
- Contact management with master-detail layout
- Greg AI assistant (Claude Sonnet 4)
- Riley voice receptionist (Vapi)
- Vendor earnings tracking
- QR code lead generation
- Deal pipeline management
- Transaction progress tracking
- Interactive milestone questionnaires
- Service booking system
- Rewards dashboard (Plot Credits - not cash)
- FSBO tools and guidance
- Greg AI assistant
- Service request management
- Competitive bid system
- Review and rating system
- Analytics dashboard
- Automated commission payouts
- AI-Powered: Claude Sonnet 4 for intelligent assistance
- Voice AI: Vapi for 24/7 call handling
- Multi-Tenant: Support for agents and brokerages
- Real-Time: WebSocket updates for live data
- Theme System: 3 visual themes (Professional, Tech, Classic)
- Responsive: Mobile-first design
- Type-Safe: Full TypeScript implementation
- Compliant Rewards: Plot Credits system (not cash referrals)
- Framework: Next.js 15 with React 19
- Database: Supabase (PostgreSQL)
- Auth: Supabase Auth
- AI: Anthropic Claude Sonnet 4
- Voice AI: Vapi
- Styling: Tailwind CSS
- UI Components: Custom component library
- Payments: Stripe Connect
- Communication: Twilio SMS, Gmail API
Phase 1: Foundation (Current)
- Project setup and configuration
- Base UI components
- Type definitions
- Authentication flow
- Database schema
Phase 2: Agent Dashboard
- Contact management
- Greg AI integration
- Riley voice AI integration
- Pipeline management
Phase 3: Client Portal
- Portal access and authentication
- Transaction progress tracker
- Milestone questionnaires
- Service booking system
Phase 4: Vendor Marketplace
- Vendor profiles
- Service request management
- Bid system
- Review system
Phase 5: Integrations
- Gmail API
- Google Calendar
- Stripe Connect
- Twilio SMS
See .env.example for all required environment variables.
npm run dev- Start development servernpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLintnpm run type-check- Run TypeScript compiler check
Proprietary - All rights reserved
Built with ❤️ by the Plot team