An AI-powered lead generation platform for personal lines insurance in Georgia. Uses Claude as an intelligent insurance advisor (Gia) to help consumers understand their coverage, identify gaps, and connect with licensed agents.
After deploying, set these environment variables:
ANTHROPIC_API_KEY- Your Anthropic API keySUPABASE_URL- Your Supabase project URLSUPABASE_KEY- Your Supabase service role key
- AI Insurance Advisor (Gia) - Conversational AI that helps users understand auto, home, and umbrella coverage
- Coverage Gap Analysis - Identifies missing or inadequate coverage with visual scoring
- Document Analysis - Upload policy PDFs for automated coverage extraction
- Damage Photo Analysis - Upload damage photos for claims guidance
- Lead Capture - Seamless handoff to licensed Georgia agents
- Georgia-Specific - Built-in knowledge of GA minimums, laws, and market data
| Layer | Technology |
|---|---|
| AI Model | Claude Sonnet 4 |
| Backend | FastAPI + Python 3.11+ |
| Database | SQLite (dev) / PostgreSQL (prod) |
| Storage | Supabase Storage |
| Frontend | React 18 + Vite + Tailwind |
| SendGrid |
- Python 3.11+
- Node.js 18+
- Anthropic API key
- Supabase account (for document uploads)
git clone <repo-url>
cd georgia-insurance-aicd backend
cp ../.env.example .env
# Edit .env with your API keys
pip install -r requirements.txt
uvicorn main:app --reloadcd frontend
cp ../.env.example .env
# Edit VITE_API_URL if needed
npm install
npm run devNavigate to http://localhost:5173
# Required
ANTHROPIC_API_KEY=sk-ant-...
DATABASE_URL=sqlite:///./insurance.db
FRONTEND_URL=http://localhost:5173
SECRET_KEY=your-secret-key
# Document Uploads (Supabase)
SUPABASE_URL=https://xxx.supabase.co
SUPABASE_KEY=your-service-role-key
SUPABASE_BUCKET=insurance-docs
# Email Notifications
SENDGRID_API_KEY=SG....
AGENT_EMAIL=agents@example.comVITE_API_URL=http://localhost:8000
VITE_APP_NAME=Georgia Insurance Advisorgeorgia-insurance-ai/
├── backend/
│ ├── agents/ # Claude agent, tools, prompts
│ ├── api/routes/ # FastAPI endpoints
│ ├── services/ # Business logic
│ ├── models/ # Pydantic + SQLAlchemy models
│ └── data/ # Georgia coverage rules JSON
├── frontend/
│ ├── src/components/ # React components
│ ├── src/hooks/ # Custom hooks
│ └── src/utils/ # API client
├── mcp-server/ # MCP server for Claude.ai
└── docs/ # Documentation
| Endpoint | Method | Description |
|---|---|---|
/api/chat |
POST | Streaming chat with Gia |
/api/leads |
POST | Capture lead information |
/api/coverage/georgia-minimums |
GET | Get GA requirements |
/api/documents/upload |
POST | Upload policy/image |
/api/documents/{session_id} |
GET | List uploaded files |
/health |
GET | Health check |
docker-compose upServices:
- Backend: http://localhost:8000
- Frontend: http://localhost:5173
- MCP Server: http://localhost:3000
Gia has access to these tools:
| Tool | Purpose |
|---|---|
check_georgia_minimums |
GA state minimum requirements |
calculate_coverage_score |
Coverage health score (0-100) |
estimate_rate_benchmark |
Compare premium to GA averages |
explain_coverage_term |
Plain-English definitions |
get_discount_opportunities |
Available discounts |
identify_coverage_gaps |
Gap analysis by life situation |
generate_claims_checklist |
GA claims process steps |
analyze_policy_document |
Extract coverage from PDF |
analyze_damage_image |
Assess damage photos |
capture_lead |
Trigger lead capture modal |
- E&O disclaimers on all pages
- TCPA consent for phone collection
- AI clearly identified as non-human
- No binding quotes or rate guarantees
- See docs/COMPLIANCE.md
Proprietary - Snellings Walters Insurance Agency