The first scholarship platform where you can watch AI agents think in real-time
๐ Live API ยท ๐ API Docs ยท ๐ป GitHub
Built for Convolve 4.0 Hackathon - MERGE-CONFLICT | IIT Roorkee
85% of eligible Indian students never find scholarships meant for them.
| Challenge | Impact |
|---|---|
| 5,000+ scattered schemes | Information overload |
| Keyword-only search | Misses semantic intent |
| No personalization | Same results for everyone |
| Zero transparency | "Why did I match?" unanswered |
| Scam-prone ecosystem | Trust deficit |
Students search: "เคเคฐเฅเคฌ เคเคพเคคเฅเคฐเฅเค เคเฅ เคฒเคฟเค เคชเฅเคธเคพ" (money for poor students)
Portals expect: "AICTE Pragati Scheme SC Category 2026"
Saarthi AI (Sanskrit: "Guide/Charioteer") transforms scholarship discovery through a transparent multi-agent system where you can watch AI agents reason in real-time.
|
Watch 5 specialized AI agents collaborate on your search. No black box - full transparency. BM25 + Vector + RRF Fusion combines keyword precision with semantic understanding. |
Your interactions evolve results (+16% NDCG) with filter bubble prevention. Deterministic eligibility checking - rule-based, not LLM. Legal criteria never guessed. |
graph TB
subgraph Frontend["๐ฅ๏ธ Frontend (Next.js 14)"]
UI[React UI] --> WS[WebSocket Client]
UI --> Search[Search Interface]
end
subgraph Backend["โ๏ธ Backend (FastAPI)"]
API[REST API] --> Orchestrator[Agent Orchestrator]
WSS[WebSocket Server] --> Orchestrator
subgraph Agents["๐ค Multi-Agent System"]
QA[Query Agent] --> RA[Retrieval Agent]
RA --> MA[Memory Agent]
MA --> EA[Eligibility Agent]
EA --> ResA[Research Agent]
end
Orchestrator --> Agents
end
subgraph Storage["๐พ Qdrant Vector DB"]
Scholarships[(200 Verified Scholarships)]
Memory[(User Interactions)]
end
Frontend <--> Backend
Backend <--> Storage
| Agent | Purpose | Latency |
|---|---|---|
| ๐ Query Agent | Parse and understand search intent | 5ms |
| ๐ Retrieval Agent | Hybrid BM25 + Vector search with RRF fusion | 25ms |
| ๐ง Memory Agent | Personalize based on user history | 8ms |
| โ Eligibility Agent | Deterministic 100-point scoring | 15ms |
| ๐ Research Agent | Fallback web search (18% of queries) | 45ms |
| Metric | Value | Significance |
|---|---|---|
| P95 Latency | 59ms | Real-time UX |
| Precision@5 | 88% | High relevance |
| Memory Impact | +16% NDCG | Proven personalization |
| Eligibility | 100% Deterministic | Zero hallucinations |
| Dataset | 200 verified | From .gov.in sources |
| Layer | Technology |
|---|---|
| Frontend | Next.js 14, React 18, TypeScript, TailwindCSS, Framer Motion |
| Backend | Python 3.10+, FastAPI, Pydantic, uvicorn |
| Vector DB | Qdrant (hybrid search, dual collections) |
| Embeddings | sentence-transformers (all-MiniLM-L6-v2) |
| Search | BM25 + Vector + RRF Fusion |
| Real-time | WebSocket (live agent streaming) |
- Python 3.10+
- Node.js 18+
- Docker (for Qdrant)
git clone https://github.com/krishdef7/Saarthi-AI.git
cd Saarthi-AIdocker run -d -p 6333:6333 -v $(pwd)/qdrant_storage:/qdrant/storage qdrant/qdrantcd mas_scholar_app/backend
# Create virtual environment
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Copy environment file
cp ../../.env.example .env
# Start API server
uvicorn main:app --reload --port 8000cd mas_scholar_app/frontend
# Install dependencies
npm install
# Set environment variable
export NEXT_PUBLIC_API_URL=http://localhost:8000
# Start development server
npm run devNavigate to http://localhost:3000 and try:
"engineering scholarship for SC category""merit based postgraduate scholarship""PMSS-2026"(exact scheme ID)
saarthi-ai/
โโโ README.md # This file
โโโ SUBMISSION.md # Hackathon submission
โโโ Saarthi_AI_Final_Submission.pdf # Technical report
โโโ docs/
โ โโโ ARCHITECTURE.md # System design
โ โโโ METRICS.md # Performance benchmarks
โ
โโโ mas_scholar_app/
โ โโโ backend/ # FastAPI server
โ โ โโโ main.py # API entry point
โ โ โโโ requirements.txt # Python dependencies
โ โ โโโ data/ # 200 verified scholarships
โ โ โโโ models/ # Pydantic schemas
โ โ โโโ routers/ # API endpoints
โ โ โโโ services/ # Core business logic
โ โ โโโ hybrid_search.py # BM25 + Vector + RRF
โ โ โโโ eligibility.py # Deterministic scoring
โ โ โโโ user_memory.py # Vector memory
โ โ โโโ websocket.py # Live streaming
โ โ
โ โโโ frontend/ # Next.js 14 app
โ โโโ src/
โ โ โโโ app/ # App router pages
โ โ โโโ components/ # React components
โ โ โโโ hooks/ # Custom hooks
โ โโโ package.json
โ
โโโ render.yaml # Backend deployment
โโโ docker-compose.yml # Local development
โโโ .env.example # Environment template
Watch agents collaborate in real-time via WebSocket. See exactly what each agent does.
Natural language queries work. Hindi support. Handles both "scholarship for poor" and "AICTE-2026".
Visual breakdown of how you match each scholarship across 5 dimensions.
23 pattern-based scam detection. Government sources preferred.
Your interactions improve future results (with decay and diversity safeguards).
| Criterion | Our Implementation |
|---|---|
| Originality | First scholarship system with live agent visibility |
| Problem Understanding | Deep research into India's scholarship gap |
| Innovation | Hybrid search + vector memory + deterministic eligibility |
| Technical Implementation | Production-ready, <60ms latency |
| GitHub Quality | Clean structure, meaningful commits |
| Documentation | Comprehensive docs, diagrams, metrics |
| Design & UX | Modern UI, mobile-responsive, accessible |
MIT License - See LICENSE file
- Qdrant for the excellent vector database
- National Scholarship Portal for public data
- Open Source Community for FastAPI, React, sentence-transformers
Built with โค๏ธ for India's students
เคธเคพเคฐเคฅเฅ AI - เคเคชเคเคพ เคถเคฟเคเฅเคทเคพ เคฎเคพเคฐเฅเคเคฆเคฐเฅเคถเค