
A working course recommender built on real Harvard enrollment data — KMeans clustering plus cosine similarity, wrapped in a Flask app with search, analytics dashboard and a JSON API. Runs on your laptop in 10 minutes.
Python | Flask | scikit-learn | KMeans Clustering | Pandas | NumPy | Chart.js | HTML/CSS
You type a course name. The system finds other courses that get enrolled in by a similar mix of students, and ranks them by how close that mix is. That's it. No magic.
The dataset here is real Harvard enrollment data, aggregated at the course-section level. So each course has a profile: how many undergrads, how many grad students, how many cross-registered, which department it sits in, total headcount. The training notebook (Course_Recommendation_Training.ipynb) scales those features, runs KMeans to group courses into clusters with similar enrollment shapes, and saves everything into models/ as pickle files. At runtime the Flask app just loads those artifacts once at startup and does cosine similarity between feature vectors. Fast, because nothing is recomputed per request.
One thing worth being upfront about: this is not student-level collaborative filtering. There are no individual student records in the source CSV, so it can't say "students like you also took X." It says "courses like this one attract a similar crowd." Your guide will probably ask about this distinction, and being able to answer it clearly is worth more marks than you'd expect.
/api/courses, so you don't have to remember exact course codes like AESTHINT 13same_cluster_only — keep it on to stay inside the searched course's KMeans cluster, turn it off to sweep the entire dataset/api/analytics endpointGET /recommend?course=AESTHINT%2013&top_n=5) so you can demo it in Postman during your viva, which examiners love/health route, because deployment day is not the time to find out your app is half-deadThe obvious one is a university course catalogue. Any institution with a course-registration portal can bolt this on so students browsing one elective see four related ones underneath.
Beyond campus, the same enrollment-composition logic maps onto EdTech platforms recommending the next course after someone finishes one, corporate L&D dashboards grouping internal trainings by who actually signs up for them, and academic advising tools that help a counsellor suggest electives to a confused second-year. Swap the Harvard CSV for your own college's enrollment sheet and the pipeline works the same way, which is exactly the extension your panel will ask you about.
If you're a BCA or BSc IT student in your last semester with a submission date closing in and no working ML project, this is the one to pick up. It's Python, it's Flask, it uses scikit-learn properly, and every part of it is explainable in a five-minute viva without hand-waving.
Also good for MCA and BTech CSE students who want a machine learning final year project that isn't another Iris classifier or Titanic survival notebook. Every second batch has one of those. This one has clustering, similarity math, a real web layer and a REST API, which puts it in a different bracket entirely.
Skip it if your college has specifically demanded a Django backend or a deep learning model. Different requirement, different project — check our other listings instead.
The hard part: retraining on a new dataset. If you want to swap in your own college's enrollment data, you have to re-run the notebook, regenerate all six artifacts in models/, and make sure your column names line up with feature_columns.pkl. Get that mismatched and recommender.py throws at startup. We'll walk you through it if you go that route, but don't leave it for the night before.
The easy part, and honestly the surprising one — you don't need to train anything to run the demo. The model artifacts ship pre-trained. No GPU, no CUDA, no waiting. Clone, install requirements, python app.py, done.
You're not just getting a zip file. Every project ships with a college-format report covering abstract, literature survey, system design, methodology, results and future scope — formatted the way most universities want it, so you're editing rather than writing from zero. If setup goes sideways on your machine, the project setup session gets it running with you on a call. And if you're browsing around, our machine learning projects with source code collection and the recommendation engine solutions page have close alternatives if this particular dataset isn't your thing.
Add any of these professional upgrades to save time and impress your evaluators.
We'll install and configure the project on your PC via remote session (Google Meet, Zoom, or AnyDesk).
1-hour live session to explain logic, flow, database design, and key features.
Want to know exactly how the setup works? Review our detailed step-by-step process before scheduling your session.
Fully customized to match your college format, guidelines, and submission standards.
Need feature changes, UI updates, or new features added?
Charges vary based on complexity.
We'll review your request and provide a clear quote before starting work.