A visually appealing web app to detect corruption in government tenders. A data-driven platform that detects corruption patterns in government tender allocations using CSV data and visual analytics.
FundGuard is an AI-assisted web application that analyzes government tender data for red flags such as over-budget spending, vendor repetition, and suspicious clauses. It ensures transparency and helps identify potential fraud in public procurement.
HEAD
- Upload and analyze CSV files containing tender data
- Automatic risk flagging for:
- Over-budget tenders (Final Cost > 1.5 × Estimated Cost)
- Repeated vendor allocations (same vendor winning > 3 tenders)
- Interactive dashboard with:
- Total tenders count
- Flagged tenders count
- Risk distribution pie chart
- Downloadable report of flagged tenders
- Responsive data table with all tender details
- Frontend: HTML5, Bootstrap 5, Chart.js
- Backend: Python Flask
- Data Processing: Pandas
- Deployment Ready: Easily deployable on platforms like Heroku or Render
🧰 Setup Instructions
- Clone the repository:
git clone https://github.com/Gargibajpai/FundGuard.git
cd FundGuard
- (Optional) Create and activate a virtual environment:
python -m venv venv
venv\Scripts\activate
python3 -m venv venv
source venv/bin/activate
- Install dependencies:
pip install -r requirements.txt
- Run the app:
python app.py
-
Visit:
http://127.0.0.1:5000 -
🔐 Login Details Use these credentials to log in:
Username: admin
Password: admin123
Here’s a preview of the FundGuard dashboard in action:

- 📁 CSV Upload: Upload tender files for instant audit
- 🧠 Risk Scoring Engine: AI-based fraud risk score (0–100)
- 📄 NLP Clause Analyzer: Detect unfair or suspicious clauses
- 💬 FundBot Chatbot: Ask questions on tenders or fraud flags
- 📊 Interactive Dashboard: View flagged entries and stats
- 🌙 Dark Mode: Persistent theme switcher
- ⬇️ Export: Download flagged data as CSV
- 🔐 Secure Login: Session-based access control
| Layer | Technology |
|---|---|
| Frontend | HTML, CSS, Bootstrap 5 |
| Backend | Python, Flask |
| Visualization | Chart.js |
| AI/NLP Logic | Pandas, OpenAI API |
| Chatbot | Vanilla JS + Flask API |
FundGuard/
│
├── static/
│ ├── style.css # Theme & layout styling
│ ├── logo.png # Navbar/login logo
│ └── illustration.png # Landing hero image
│
├── templates/
│ ├── home.html # Landing page
│ ├── login.html # Login + chatbot
│ └── dashboard.html # Analysis dashboard
│
├── uploads/ # Uploaded/flagged CSVs
│
├── app.py # Flask backend
├── requirements.txt # Python dependencies
└── README.md # Project overview
git clone https://github.com/<your-username>/FundGuard.git
cd FundGuard
python -m venv venv
source venv/bin/activate # or venv\Scripts\activate on Windows
pip install -r requirements.txt
python app.py🔗 Open in browser: http://127.0.0.1:5000/
Tender ID,Department,Estimated Cost,Final Cost,Vendor
T1234,Health,1000000,1800000,ABC Corp
T5678,Transport,800000,750000,XYZ Ltd
T9101,Education,600000,1200000,ABC Corp
✅ AI will auto-flag:
- ⚠ Over Budget (≥ 1.5× estimate)
- 🔁 Vendor Repeat (more than 3 entries)
- 📌 Duplicate Invoices
- 💬 Suspicious Descriptions
- 📅 Weekend Approvals
A chatbot is embedded on the login page. Ask:
- “How does FundGuard detect fraud?”
- “What does risk score 75 mean?”
- “What flags are shown for tender repeats?”
Works offline with logic-based fallback if OpenAI is unavailable.
Username: admin
Password: admin123(You can change these in app.py)
After uploading and auditing, go to the dashboard → Click ⬇ Download CSV to export all flagged tender rows.
- 🔐 Multi-user login with role-based access
- 📚 NLP-based full tender clause auditing
- 🧠 Fine-tuned ML model for fraud patterns
- ☁️ Cloud CSV storage with analytics
This project is licensed under the MIT License. aea5609 (Updated FundGuard project with new features and fixes)