Scheme Navigator AI is an intelligent government scheme advisory platform powered by multi-agent AI. It analyzes user profiles, intelligently matches them to eligible schemes, identifies missed benefits, and provides actionable guidance for scheme applications.
- Live App: scheme-navigator-ai.vercel.app
Languages
Python 3.10+ JavaScript
Frameworks & UI
React 19 FastAPI Vite TailwindCSS
Databases & Search
MongoDB ChromaDB Vector Embeddings
Services & AI
Groq LLM Firebase Auth Axios
- Query Agent: Understands user intent and extracts demographic information (age, income, location, sector)
- RAG Agent: Retrieves relevant government schemes from vector database with semantic search
- Eligibility Agent: Validates scheme eligibility based on government criteria and user profile
- Compliance Agent: Ensures accurate, hallucination-free responses with government policy validation
- Action Agent: Provides step-by-step application guidance for scheme enrollment
- Alert Agent: Tracks user profile and alerts on new scheme eligibility
- Intelligent Matching: Semantic matching of user profiles to government schemes
- 23+ Schemes Indexed: Complete database of Indian government welfare schemes
- Multi-Criteria Filtering: Income levels, age groups, occupation, region-specific eligibility
- Missed Benefits Identification: Highlights schemes user qualifies for but hasn't applied
- Real-time Eligibility Check: Instant validation against scheme criteria
- Ranking Algorithm: Prioritizes schemes by relevance and applicability
- Profile Creation: Capture income, age, occupation, state, and family details
- Dynamic Classification: Automatically categorize users (farmer, student, elderly, entrepreneur)
- Profile Updates: Track eligibility changes as user profile evolves
- Secure Storage: Firebase authentication + MongoDB persistence
- WhatsApp Integration: Receive scheme alerts on WhatsApp
- Eligibility Summary: View all schemes user qualifies for
- Application Status: Track submitted applications
- Benefit Status: Monitor active benefits and payments
- Eligibility Timeline: See when new schemes become available
- Alerts Panel: Real-time notifications for new opportunities
- Voice Input: Speak queries in natural language
- Voice Output: Listen to scheme details and application steps
- Multi-Language Ready: Foundation for Hindi, Tamil, Kannada, Bengali support
- Accessibility: Helps illiterate and elderly users navigate schemes
- Mobile Optimized: Works seamlessly on phones, tablets, desktops
- Offline Capable: Core functionality works without internet
- Touch-Friendly: Large buttons and swipe navigation
- Dark Mode Ready: Eye-friendly interface for long sessions
- Progressive Enhancement: Graceful degradation for older devices
- Firebase Auth: Secure user authentication with MFA support
- Data Privacy: Encrypted user profiles and application data
- Role-Based Access: Admin dashboards and user restrictions
- Audit Logging: Track all user interactions for compliance
- HTTPS Only: Secure communication across all layers
- Vector Search: Fast semantic matching with ChromaDB
- Keyword Fallback: Ensures results even with vector search misses
- Response Caching: Frequently accessed schemes cached in-memory
- Lazy Loading: Progressive loading of scheme details
- Optimized Embeddings: 25 pre-computed embeddings for instant search
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β PRESENTATION LAYER β
β (React 19 + Vite on Development) β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β’ User Login & Authentication β β
β β β’ Profile Creation & Management β β
β β β’ Chat Interface with Voice I/O β β
β β β’ Scheme Discovery Dashboard β β
β β β’ Eligibility & Application Tracking β β
β β β’ Alerts & Notifications β β
β β β’ WhatsApp Integration β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β (Axios REST) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β API GATEWAY LAYER β
β (FastAPI + Python on Port 8000) β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Routes: β β
β β β’ POST /chat - Query processing with agents β β
β β β’ POST /eligibility - Scheme eligibility check β β
β β β’ POST /profile - User profile management β β
β β β’ GET /schemes - Scheme browsing & filtering β β
β β β’ POST /apply - Application submission β β
β β β’ GET /alerts - Alert management β β
β β β β
β β Middleware: β β
β β β’ Firebase authentication β β
β β β’ CORS protection β β
β β β’ Request validation & logging β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β (Python) β (HTTP) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β AI AGENTS LAYER β DATA LAYER β
β (Multi-Agent Orchestration) β (Persistence & Search) β
β βββββββββββββββββββββββββββββββ β βββββββββββββββββββββββ β
β β 1. Query Agent β β β MongoDB: β β
β β β’ Intent extraction β β β β’ Users β β
β β β’ Entity recognition β β β β’ Profiles β β
β β β β β β’ Applications β β
β β 2. RAG Agent β β β β’ Scheme data β β
β β β’ Vector search β β β β β
β β β’ Semantic matching β β β ChromaDB: β β
β β β’ Fallback keyword β β β β’ Embeddings β β
β β β β β β’ Vector index β β
β β 3. Eligibility Agent β β β β β
β β β’ Rule-based logic β β β Firebase: β β
β β β’ Criteria validation β β β β’ Auth tokens β β
β β β’ Score calculation β β β β’ User sessions β β
β β β β βββββββββββββββββββββββ β
β β 4. Compliance Agent β β β
β β β’ Response validation β β β
β β β’ Hallucination blocking β β β
β β β’ Source citation β β β
β β β β β
β β 5. Action Agent β β β
β β β’ Step generation β β β
β β β’ Document requirements β β β
β β β’ Timeline estimation β β β
β β β β β
β β 6. Alert Agent β β β
β β β’ Profile monitoring β β β
β β β’ Eligibility tracking β β β
β β β’ Notification creation β β β
β β β β β
β β β (Groq LLM API) β β β
β β Groq (llama-3.3-70b) β β β
β βββββββββββββββββββββββββββββββ β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
git clone https://github.com/your-repo/scheme-navigator-ai.git
cd scheme-navigator-aiCreate .env file in project root:
# LLM Configuration
GROQ_API_KEY=your_groq_api_key_here
# Firebase Configuration
FIREBASE_API_KEY=your_firebase_api_key
FIREBASE_AUTH_DOMAIN=your-project.firebaseapp.com
FIREBASE_PROJECT_ID=your-project-id
FIREBASE_STORAGE_BUCKET=your-project.appspot.com
FIREBASE_MESSAGING_SENDER_ID=your_sender_id
FIREBASE_APP_ID=your_app_id
# MongoDB
MONGODB_URL=mongodb+srv://user:password@cluster.mongodb.net/scheme-navigator
# Server Configuration
API_HOST=0.0.0.0
API_PORT=8000Backend:
cd backend
pip install -r requirements.txtFrontend:
cd frontend
npm installTerminal 1: Backend API
cd backend
python -m uvicorn main:app --reload --host 0.0.0.0 --port 8000
# Runs on http://localhost:8000
# Swagger UI: http://localhost:8000/docsTerminal 2: Frontend Application
cd frontend
npm run dev
# Runs on http://localhost:5173Terminal 3: Run Tests (Optional)
cd backend
python test_api.pyOpen Browser: http://localhost:5173
User: "I'm a 32-year-old farmer from Maharashtra with βΉ2.5L annual income"
System:
Identified as: Farmer, Below middle income
Found 12 eligible schemes
Top 3: PM-KISAN, PMAY, Pradhan Mantri Yojana
User: "Am I eligible for PM-KISAN?"
System:
YES - You qualify!
Monthly benefit: βΉ500-1000
Application deadline: Open
Next steps: Upload land documents
User: "Show me schemes I might have missed"
System:
Missed 3 schemes!
β’ Pradhan Mantri Gramin Awas Yojana (Housing)
β’ PM-WANI (Internet access)
β’ State-specific agriculture subsidies
# Run all tests
cd backend
python test_api.py
# Expected Output:
# Test 1: Query intent extraction - PASSED
# Test 2: RAG scheme retrieval - PASSED
# Test 3: Eligibility validation - PASSED
# Test 4: Compliance check - PASSED
# Test 5: Action guidance - PASSED
# Test 6: Alert generation - PASSED
# Test 7: End-to-end chat - PASSED
#
# Result: 7/7 PASSED (100%)scheme-navigator-ai/
βββ backend/
β βββ main.py # FastAPI server
β βββ orchestrator.py # Agent coordination
β βββ agents/
β β βββ query_agent.py # Intent extraction
β β βββ rag_agent.py # Scheme retrieval
β β βββ eligibility_agent.py # Eligibility check
β β βββ compliance_agent.py # Response validation
β β βββ action_agent.py # Application steps
β β βββ alert_agent.py # Profile management
β βββ config/
β β βββ settings.py # Configuration
β β βββ prompts.py # Agent prompts
β βββ data/
β β βββ schemes_data.json # Scheme database
β β βββ chroma_db/ # Vector embeddings
β βββ services/
β β βββ llm_service.py # Groq LLM interface
β β βββ firebase_service.py # Authentication
β β βββ database.py # Data persistence
β βββ requirements.txt
β
βββ frontend/
β βββ src/
β β βββ components/
β β β βββ ChatInterface.jsx # Main chat UI
β β β βββ ProfileForm.jsx # User profiles
β β β βββ SchemeCard.jsx # Scheme display
β β β βββ VoiceInputButton.jsx # Voice input
β β β βββ MissedBenefitsPanel.jsx
β β β βββ AlertsPanel.jsx # Notifications
β β β βββ MessageBubble.jsx
β β βββ hooks/
β β β βββ useChat.js
β β β βββ useProfile.js
β β β βββ useSpeechRecognition.js
β β βββ services/
β β β βββ api.js # Backend API client
β β β βββ voiceService.js # Voice processing
β β βββ pages/
β β β βββ Home.jsx
β β β βββ ChatPage.jsx
β β β βββ ProfilePage.jsx
β β β βββ AlertsPage.jsx
β β βββ App.jsx
β β βββ main.jsx
β βββ package.json
β βββ vite.config.js
β βββ tailwind.config.js
β
βββ .env # Environment variables
βββ README.md # This file
βββ QUICK_START.md # 30-second setup
βββ requirements.txt
Chat Query: User β Query Agent (intent extraction) β RAG Agent (semantic search) β Eligibility Agent (criteria check) β Compliance Agent (validation) β Response
User Profile: Profile Form β Firebase/MongoDB β Alert Agent (scheme matching) β Notifications (in-app/email/WhatsApp)
Application Help: User Query β Action Agent (step-by-step guide) β Document templates + FAQ β Formatted response
| Method | Endpoint | Purpose |
|---|---|---|
POST |
/chat |
Process user query through agent pipeline |
POST |
/eligibility |
Check scheme eligibility for user |
POST |
/profile |
Create/update user profile |
GET |
/schemes |
Browse all indexed schemes |
POST |
/apply |
Submit scheme application |
GET |
/alerts |
Fetch user alerts & notifications |
POST |
/voice |
Process voice input |
GET http://localhost:8000/POST http://localhost:8000/chat
Content-Type: application/json
{
"query": "I am a farmer from Maharashtra",
"profile": {
"age": 30,
"state": "Maharashtra",
"occupation": "farmer",
"income": 250000
}
}GET http://localhost:8000/schemesPOST http://localhost:8000/profile
Content-Type: application/json
{
"profile": {
"age": 30,
"income": 250000,
"state": "Maharashtra",
"occupation": "farmer"
}
}GET http://localhost:8000/missed?age=30&state=Maharashtra&occupation=farmerLoad scheme data into ChromaDB for semantic search:
python -m backend.data.ingestion add # Add schemes to ChromaDB
python -m backend.data.ingestion list # List indexed schemes
python -m backend.data.ingestion reset # Clear databasepython test_api.py- Open
http://localhost:5173in browser - Fill profile (age, state, occupation)
- Send message: "I am a farmer from Maharashtra"
- Verify schemes appear with details
- Test voice input
- Check missed benefits section
Web Browser (React)
β (API)
Frontend UI
β (HTTP POST /chat, /profile)
FastAPI Backend
β
Pipeline Orchestrator
β
βββββββββββ΄ββββββββββ
β β
Agents Database (ChromaDB + JSON)
1. Query 23 Government Schemes
2. RAG (ChromaDB) User Profiles (MongoDB)
3. Eligibility
4. Compliance
5. LLM Service (Groq Llama-3.3)
6. Action
7. Alert (Missed Benefits)
- API Response Time: <2 seconds
- Frontend Load: <1 second
- Memory Usage: <500MB
This project is licensed under the MIT License - see LICENSE file for details.
- Built for Economic Times GenAI Hackathon
- Government scheme data from official sources
- LLM powered by Groq
- Vector embeddings with ChromaDB