GovAssist is a premium, portfolio-ready web application designed to bridge the gap between citizens and Indian government welfare schemes. By leveraging Retrieval-Augmented Generation (RAG), dynamic web scraping, and automated document analysis, the platform democratizes access to social welfare.
🌍 Explore the frontend interface: GovAssist live Demo
Here is a visual walk-through of the premium, responsive glassmorphism interface:
Featuring dynamic canvas particle animations, scroll reveals, and high-contrast color choices.

Multilingual conversational interface with message editing, session sharing, and source references.

Browse through schemes categorized by ministry, target demographic, and search parameters.

Input personal profile criteria to instantly calculate eligibility scores and export official PDF reports.

Upload PDF or image files to extract details via OCR and check document validity for specific schemes.

Monitor database connections, toggle scraper services, and enable/disable AI engines using feature flags on the fly.

- 🌐 Complete Multilingual Suite: Seamless, instant language switching across English, Hindi, and Marathi, backed by a custom on-screen virtual keyboard for regional inputs.
- 🗣️ Integrated Voice Search: Users can interact via speech, converting voice inputs into text using backend Whisper AI transcription.
- 📄 Print-Engine Export: Clean CSS-injected PDF report generator that formats eligibility cards into an official government-style paper document without watermark bloat.
- 🚀 DevOps Feature Flags: Control heavy database scraping, Google Gemini AI usage, or cloud file-uploads in real-time from the Owner Dashboard without code redeployment.
- 🔒 Rate Limiting & Hashing: Protected endpoints using SlowAPI (60 requests/minute limit) and bcrypt-hashed authentication.
GovAssist is built using an enterprise-ready, modular architecture:
| Component | Technology | Description |
|---|---|---|
| Frontend | React 18, Vite, Tailwind CSS, Lucide Icons, Framer Motion | High-performance, responsive UI with smooth transitions and particle systems. |
| Backend | Python 3.10+, FastAPI, SlowAPI, PyJWT | Lightweight, scalable API layer supporting asynchronous execution. |
| Database | SQLAlchemy, SQLite (Local Fallback), PostgreSQL | Flexible relational mapping with safe database transactions. |
| AI / NLP | Google Gemini API (google-generativeai), LangChain, FAISS |
Vector retrieval (RAG) and conversational context memory windowing. |
| Parsing & OCR | Tesseract OCR, PyMuPDF, Python-docx | File parsing and text extraction engine for PDFs, images, and documents. |
Make sure you have the following installed on your machine:
- Node.js (v18+)
- Python (v3.10+)
The repository includes a helper script that automates environment setup, dependency installs, port allocations, and server start-ups:
./install_and_run.batThis script will:
- Verify / install Python & Node.js on Windows.
- Initialize python virtual environment (
venv) and install pip packages. - Install frontend node modules.
- Launch the FastAPI backend on port
8001. - Launch the Vite frontend on port
5102and automatically open it in your browser.
- Navigate to the backend directory:
cd backend - Create and activate a Python virtual environment:
python -m venv venv # On Windows (PowerShell): .\venv\Scripts\Activate.ps1 # On macOS/Linux: source venv/bin/activate
- Install required packages:
pip install -r requirements.txt
- Create a
.envfile in thebackend/root directory and add your credentials:GEMINI_API_KEY=your_google_gemini_api_key_here SECRET_KEY=your_jwt_auth_secret_key_here
- Start the FastAPI development server:
python -m uvicorn app.main:app --reload --port 8001
- Navigate to the frontend directory:
cd frontend - Install npm packages:
npm install
- Start the Vite development server:
npm run dev -- --port 5102
- Open your browser and navigate to
http://localhost:5102.
For local evaluation, the application includes the preconfigured developer/owner credentials:
- Developer/Owner:
pattiwarrushikesh5102@gmail.com|Rushikesh@5102(Accesses the DevOps Command Center and Admin panels)
This project is licensed under the MIT License — see the LICENSE file for details.