AI-Powered Major Recommendation System

An intelligent system combining machine learning and real-time web interaction to suggest optimal academic majors for students.

Explore Features
Flask
Node.js
MongoDB

Project Overview

This AI-driven recommendation system combines machine learning with real-time web interaction to help students identify their optimal academic major. The system analyzes academic performance and preferences using advanced algorithms while providing explainable AI insights.

Key technical challenges addressed:

  • Integrating multiple ML models (KNN + K-Means) for accurate predictions
  • Implementing real-time communication between Python and Node.js
  • Feeding the KNN nearest neighbours into a LLaMA prompt so the recommendation can be explained
  • Handling scalable student data storage with MongoDB

Key Features

  • Dual ML Approach: Combines KNN classification with K-Means clustering validation
  • Grounded explanations: the neighbours that produced the prediction are passed into the LLaMA prompt, so the reasoning reflects the model rather than being invented alongside it
  • Real-Time Updates: WebSocket communication for live recommendations
  • Scalable Backend: Flask + Node.js hybrid architecture with MongoDB
  • Interactive Web Interface: Dynamic visualization of recommendation results

Technical Architecture

The system employs a sophisticated tech stack enabling real-time AI recommendations:

  • Machine Learning: Scikit-Learn for KNN and K-Means implementation
  • Backend: Flask (Python) for ML models + Node.js (Express) for web services
  • Database: MongoDB for storing student profiles and historical data
  • Real-Time: Socket.IO for live updates between components
  • AI integration: LLaMA 3.3 70B on Groq, prompted with the model's own nearest-neighbour context
  • Frontend: Interactive dashboard with HTML/CSS/JavaScript

Explore the Code

The full code is available on GitHub.

GitHub View on GitHub