Skip to content

Latest commit

 

History

13 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Scheme Setu 🇮🇳

Scheme Setu is a full-stack web app that helps citizens discover Indian government scholarship and healthcare schemes they're actually eligible for — instead of digging through scattered official portals.

Users can either fill in a short eligibility form or just describe themselves in plain text, and the app matches them against a curated database of real government schemes, explains why they qualify, and lets them chat with an AI assistant about their results.

⚠️ Disclaimer: Scheme Setu is an independent informational and awareness platform. It does not represent any government entity, does not process applications, and never asks for Aadhaar numbers or fees. All applications must be completed on the official government portal linked from each scheme.


Features

  • Eligibility Matching — Enter age, income, state, gender, category, education level, CGPA, BPL status, and medical need to get a filtered list of schemes you qualify for, each with a plain-language "why you qualify" explanation.
  • Express Match — Skip the form. Describe yourself in a sentence or two and a Gemini-powered endpoint extracts your profile automatically, asking follow-up questions for anything it couldn't determine.
  • AI Chat Assistant — Ask questions about your matched schemes (answered strictly from your matched data to avoid made-up info) or general questions about the scheme database if you haven't searched yet.
  • 24 real schemes covering scholarships and healthcare, sourced with official application links.

Tech Stack

Layer Technology
Frontend Single self-contained index.html (HTML/CSS/vanilla JS) — no build step
Backend Node.js + Express
Data Local schemes.json file, loaded into memory at startup
AI Google Gemini API (free-text profile extraction + chat)

Project Structure

govt-scheme-finder/
│
├── Frontend/
│   └── index.html          # Complete UI, styling, and fetch logic
│
├── Backend/
│   ├── package.json         # Dependencies: express, cors, dotenv
│   ├── package-lock.json
│   ├── schemes.json          # Database of 24 scholarship/healthcare schemes
│   └── server.js              # Express server, matching engine, Gemini integration
│
└── .gitignore                 # Excludes node_modules

Getting Started

Prerequisites

1. Clone the repo

git clone https://github.com/SurashriBanerjee/govt-scheme-finder.git
cd govt-scheme-finder

2. Set up the backend

cd Backend
npm install

Start the server:

npm start

You should see:

[Cache] Loaded 24 schemes.
[Gemini] API key loaded ✓
[Server] Running at http://localhost:5000
[Server] Health check: http://localhost:5000/api/health

Visit http://localhost:5000/api/health any time to confirm the server is running, the scheme cache loaded, and your Gemini key is valid.

3. Run the frontend

Simply open Frontend/index.html in your browser (or serve it with any static file server). It talks to the backend at http://localhost:5000 by default.


API Endpoints

Method Endpoint Description
GET /api/health Checks server status, scheme count, and Gemini connectivity
POST /api/match Matches a structured user profile against the scheme database
POST /api/chat AI chat — answers from matched schemes, or the full database if none yet
POST /api/extract-profile Express Match — extracts a structured profile from free-text input

Matching Logic

Matching is fully rule-based and runs entirely on the server (no AI call needed), checking:

  • Income ceiling
  • Age range
  • State (or "All India" schemes)
  • Gender eligibility
  • Demographic category
  • Education level
  • Minimum score/CGPA (where applicable)
  • BPL card requirement
  • Medical need type

The AI (Gemini) is only used for two things: turning free-text descriptions into structured profiles (Express Match), and answering natural-language questions in the chat assistant.


Security Notes

  • Basic prompt-injection sanitization strips common override phrases (e.g. "ignore previous instructions") from user input before it reaches the Gemini API.
  • The chat assistant is restricted to answering from matched scheme data only, once a match has been run — it's told not to invent information.

About

A full-stack web app that matches Indian citizens to eligible government scholarship and healthcare schemes based on their profile, with AI-powered free-text matching and a scheme-aware chat assistant. Built with Node.js/Express and Gemini AI.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages