This is an AI-powered helper bot built specifically for https://mosdac.gov.in as part of the BAH Hackathon by ISRO.
The goal?
To make it super easy for users to ask natural questions about MOSDAC's satellite data, services, and tools and get relevant answers instantly.
Instead of using built-in AI knowledge (which might be outdated or inaccurate), this bot works smartly:
-
Live Data Scraping
Using Playwright, the user scrapes data from MOSDAC pages and saves it into structured JSON format.Admin Notice:
This process is intended to be run only once per update, and should be performed by the admin whenever there is new or updated information on the MOSDAC website.
Currently, the existing data must be manually removed by the admin before updating.
Once cleared, the web scraper script automatically fills in the new data for the respective domains. This is to be done so that there is no duplication and pollution of data. -
Query Understanding
When a user asks something:- It checks the scraped JSON data for matching keywords.
- If found, it sends that data to the Gemini AI API to generate a clean, helpful answer.
- If not found, the AI falls back to its general knowledge, but always shows a disclaimer to keep things transparent.
-
Frontend + Backend Setup
- Frontend: React + TailwindCSS, with Framer Motion animations and Lucide icons.
- Backend: Node.js + Express.js to handle routes and AI communication.
- Database: MongoDB (via Mongoose) to manage user context and session data.
- Accurate, live responses based on scraped data
- Gemini AI-powered answers
- Clean UI with smooth animations
- Context-aware chat with session support (-yet to be made in the prototype)
| Area | Tech Used |
|---|---|
| Frontend | React, TailwindCSS, Framer Motion, Lucide Icons |
| Backend | Node.js, Express.js |
| AI Engine | Gemini API (Google) |
| Scraping | Playwright (JavaScript) |
| Database | MongoDB + Mongoose |
This project is for educational/demo purposes – use freely, but do credit if you find it useful.
- Built a functional and practical RAG (Retrieval-Augmented Generation) application.
- Uses static retrieval (keyword-based) instead of vector-based semantic retrieval.
- Add vector database retrieval.
- Implement embedding-based similarity search.
- Add citation mapping in responses.
- Save previous chats in MongoDB tied to session ID.
- Improve query quality using rephrasing techniques.
- Combine embeddings with filtering for better context injection.