UNSW AI Academic Advisor
A full-stack AI prototype built as a university project, simulating an academic advisor for UNSW students. It combines LLM reasoning, user context memory, and rule-based constraints to answer natural-language questions about course prerequisites, program requirements, and academic policies — grounded in structured course data rather than live university systems.
Problem
Students spend hours navigating fragmented course handbooks and policy documents to plan their degree, while academic advisors are overloaded with repetitive, individually answerable questions.
Solution
A pseudo-agent architecture that layers multi-step LLM prompt workflows over a structured course and policy data store, with per-user context memory so the system can reason about a student's specific completed units and goals.
My Role
Full-stack developer — designed the database schema, built the Node.js/Express backend, integrated OpenAI and Google Generative AI APIs, implemented JWT auth with role-based dashboards, and shipped the React/Vite frontend.
Key Features
- Pseudo-agent LLM reasoning with user context memory
- Multi-step prompt workflows for prerequisite and path validation
- Role-based dashboards for students, administrators, and program managers
- JWT authentication and secure session management
- Responsive UI with performance optimisation via Vite
- Course planning across multiple degree programs
Tech Stack
- React.js
- Vite
- Node.js
- Express
- MongoDB
- OpenAI API
- Google Generative AI
- JWT
- TypeScript
AI / LLM Workflow
Each user query enters a classification step that routes it to one of three prompt chains: prerequisite validation, degree-map reasoning, or policy lookup. Each chain injects the student's completed-unit history from MongoDB into the system prompt, constraining the model's reasoning to verified facts. A post-processing step checks the response against a rule-based prerequisite graph before it is returned, preventing hallucinated chains from reaching the user.
Backend / System Architecture
React/Vite SPA communicates with an Express REST API over JWT-authenticated endpoints. MongoDB stores user profiles, course catalogue, and conversation history. OpenAI API handles prerequisite and degree-map chains; Google Generative AI handles policy Q&A. Role-based middleware gates student, admin, and program-manager dashboards at the API layer.
Challenges
Keeping LLM responses faithful to official course rules without hallucinating prerequisite chains, and designing a context-memory system that persists meaningful state across conversation turns.
Results & Impact
Reduced typical course-planning research time significantly in user tests, with high answer accuracy for prerequisite and program requirement queries during pilot feedback rounds.
Future Improvements
RAG over live course handbook PDFs, personalised study-plan generation, and integration with the official UNSW student portal for real enrolment data.
Project Screenshots

Chatbot Interface
AI academic advisor chat interface showing conversational course guidance and student-facing interaction.

Login Page
Login screen for the Intelligent Academic Advisor platform with a clean academic product interface.

Manager Dashboard
Manager dashboard showing user analytics, interaction trends, question categories, and system monitoring metrics.

Program Management
Program management interface for browsing academic programs, domains, credit points, and specialisation details.

Program Page
Student-facing program page showing enrolled program information and related specialisations.