AI Academic Assistant · 2025 · Final Year Project
SZABOT
React.js (Vite) · Node.js · Express.js · MongoDB · Python · Gemini API
Overview
SZABOT is a retrieval-augmented generation (RAG) assistant, built as a Final Year Project with Node.js, Express.js, and the Google Gemini 2.5 Flash API, that answers student questions about classes, exams, and events.
Role
- 01
Built a retrieval-augmented generation (RAG) assistant with Node.js, Express.js, and the Google Gemini 2.5 Flash API that answers student questions about classes, exams, and events.
- 02
Developed a Python parsing pipeline (Pandas, pdfplumber) that converts Excel and PDF timetables into structured MongoDB records via child_process.
- 03
Implemented intent detection to route queries across 3 categories (classes, exams, events) and retrieve batch-specific records.
- 04
Built a React admin dashboard with JWT and bcrypt authentication for timetable uploads and chat log review.
Technology
- React.js (Vite)
- Node.js
- Express.js
- MongoDB
- Python
- Gemini API
Challenge
- 01
Converting Excel and PDF timetables into structured MongoDB records through a Python pipeline bridged to Node.js via child_process.
- 02
Routing student queries across 3 categories — classes, exams, events — with intent detection and retrieving batch-specific records.
- 03
Securing the admin dashboard's timetable uploads and chat log review with JWT and bcrypt authentication.
Architecture
Excel / PDF timetable
The source timetables the Python pipeline parses.
Key features
- Real-time answers to student questions about classes, exams, and events
- Python parsing pipeline (Pandas, pdfplumber) converting Excel and PDF timetables into structured MongoDB records via child_process
- Intent detection routing queries across 3 categories and retrieving batch-specific records
- React admin dashboard with JWT and bcrypt authentication for timetable uploads and chat log review
Interface



Screenshots of the application.
Next case study
ODDCO Studios