Smart Accessible Assistance for Real-Time Help and Inclusion.
Video demo: demo
Pitch Deck (PDF): SAARTHI_Hackathon_Pitch.pdf
Many eligible citizens miss welfare benefits because scheme information is scattered, eligibility rules are hard to understand, and guidance is limited.
SAARTHI is an AI-assisted platform that takes natural language input, extracts user profile signals, and recommends relevant welfare schemes with actionable next steps.
- Natural language input for citizen needs
- Profile extraction from user input
- Scheme recommendation with eligibility-aware ranking
- Document detection hints for required paperwork
- Eligibility improvement suggestions
- Operator login and request management flows
- Assistance request and scheduling support
User input -> Profile extraction -> Document detection -> Scheme matching and scoring -> Recommendations -> Assistance request and operator follow-up
- Frontend: Next.js 14, TypeScript, Tailwind CSS
- Backend: FastAPI, Python
- AI: Profile extraction, document detection, recommendation and eligibility logic
- Dataset: backend/data/schemes.json
- frontend/: Next.js client application
- backend/: FastAPI application and service modules
- backend/data/schemes.json: Scheme dataset used by the recommendation pipeline
Backend:
cd backend
python -m venv .venv
# Activate venv (Windows PowerShell)
.venv\Scripts\Activate.ps1
# OR Linux/macOS
source .venv/bin/activate
pip install -r requirements.txt
uvicorn app.main:app --reloadFrontend:
cd frontend
npm install
npm run devProduction (recommended for demo):
cd frontend
npm run build
npm startURLs:
- Frontend: http://localhost:3000
- Backend: http://localhost:8000
- FastAPI Docs: http://localhost:8000/docs
Use frontend/.env.example as the reference file.
NEXT_PUBLIC_API_BASE_URL=http://localhost:8000GET /health
{ "status": "ok" }POST /recommend request
{ "user_input": "I am a farmer from Karnataka with low income" }POST /recommend trimmed response
{
"detected_language": "en",
"detected_documents": {
"Aadhaar Card": true,
"Income Certificate": false
},
"extracted_profile": {
"age": 30,
"occupation": "farmer",
"education": null,
"state": "Karnataka",
"income": 200000,
"category": null
},
"recommendations": [
{
"scheme_id": "SCH001",
"name": "PM-KISAN",
"description": "Income support scheme for farmers",
"apply_link": "https://pmkisan.gov.in",
"documents_required": ["Aadhaar Card", "Bank Account"],
"application_steps": ["Visit portal", "Enter details", "Submit"],
"estimated_benefit": 6000,
"match_score": 91.5,
"support_types": ["income support", "agriculture"],
"scheme_categories": ["agriculture", "income"],
"monetary_benefit": 6000.0,
"rationale": "Farmer profile matches eligibility criteria",
"eligibility_reasons": ["Farm ownership", "Income level"],
"welfare_gap": false
}
],
"eligibility_improvements": ["Get income certificate"],
"benefits_summary": {
"total_monetary_benefits": 6000.0,
"major_support_types": ["income support", "agriculture"]
},
"potential_unclaimed_schemes": 0
}Additional endpoints:
- POST /request-assistance
- POST /operator/login
- GET /operator/requests/{operator_id}
- POST /operator/schedule
The recommendation engine reads schemes from backend/data/schemes.json. To add a new scheme, append a new JSON object following the same structure as existing entries and include core details like scheme name, eligibility conditions, and benefits.
- Team Lead: Sharanabasava
- Teammates: Shreyas S, Shivraj J
- College: Ballari Institute of Technology and Management






