Nawabigh Assistant
An English and Arabic assistant that answers questions about the Nawabigh education programme.

Overview
Nawabigh Assistant answers parents' and students' questions — price, schedule, location, age, subjects — in English or Arabic. Questions are classified by a TF-IDF and logistic-regression intent model trained from an Excel sheet of questions and answers; low-confidence questions get a polite fallback instead of a guess.
Objectives
- Answer the common questions instantly, in both languages
- Let staff update answers in a spreadsheet, not in code
Features
- English and Arabic with right-to-left layout
- Twelve intents per language
- Confidence threshold with a safe fallback answer
- Clear-chat and language switch
Screens
Highlights
Design
- Dark glassmorphism chat with blue-violet gradients
- Typing indicator and avatars
Engineering
- TF-IDF (word 1–2 grams) + logistic regression per language
- Model weights exported to JSON and run in the browser; 124 of 125 reference questions give the same answer as the Python server
Studio audit
A good idea held back by packaging problems.
Found
- A page-view tracking script from the AI tool that generated the template
- Under scikit-learn 1.8 the saved model loads without its IDF weights, so the server answers differently from how it was trained
- The README refers to a training script that is not in the project
- Unused React template files
Fixed
- Removed the tracking script
- In-browser model reproduces the model as trained
- The chat falls back to the in-browser model when no server is available
Still to do
- Re-train and re-save the model with the installed scikit-learn version, and add the training script
Scored out of 10 on functionality, interface, visual consistency, performance, responsiveness, navigation, architecture, accessibility, error handling and professional readiness.
Demonstration
The intent model runs in your browser.
Want something like this?
Tell us what you are building. We will reply with honest questions, a clear approach and the next step.