Skip to content

A graph-based personalized LeetCode question recommender that uses probabilistic reasoning and topic modeling for skill enhancement.

License

Notifications You must be signed in to change notification settings

amri-tah/LeetPath

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LeetPath: A Graph-Based LeetCode Question Recommender 🧭🔍

image

LeetPath is a personalized question recommendation system designed for LeetCode users. Using graph-based structures, topic modeling, and Markov Random Field, the system analyzes user interaction, question similarity, and topic relevance to suggest the most appropriate questions for continued skill improvement. 📈

Demo 🎥

leetpathdemo1.mp4

Features 🌟

  • 🔍 Personalized Recommendations: Suggests questions based on user activity and skills.
  • 🧠 Topic Modeling: Groups questions by related topics for better understanding.
  • 📊 Interactive Dashboard: Displays user stats and recommended questions.
  • ⚡ Real-Time Performance: Fast and efficient recommendations using graph-based algorithms and belief propagation.

Tech Stack 🛠️

Tech_Stack

  • Frontend: Next.js with Tailwind CSS for a responsive and interactive UI.
  • Backend: Flask for API endpoints for the model and Go for fetching user data.
  • Database: MongoDB for storing user data.
  • Authentication: Firebase for secure user login and management.
  • GraphQL: For efficient and flexible data querying.

Deployment and Hosting 💻

  • The recommendation engine is deployed on Google Cloud Platform using App Engine.
  • The backend code is deployed on OnRender.
  • The frontend is hosted on Vercel.

How It Works 📊

  • Question Similarity: Content-based filtering using TF-IDF and cosine similarity to recommend questions based on their content similarity.
  • Topic Modeling: Grouping questions by latent topics using a custom topic modeling algorithm (similar to Latent Dirichlet Allocation).
  • Markov Random Field (MRF): Models relationships between questions, accounting for user engagement, difficulty, and question similarities.
  • Belief Propagation: Used to refine potential values in the MRF and improve recommendation accuracy.

Screenshots

landing Screenshot 2024-11-21 215125 Screenshot 2024-11-21 215155 recommender page 1 profile

Contributors

@VishalTheHuman @amri-tah @yeager209904 @GiriPrasath017
Vishal S Amritha Nandini Anerud Thiyagarajan Giri Prasath R

Contributing 🌟

We welcome contributions to enhance the functionality of LeetPath! If you have ideas or improvements, please submit a pull request . 🚀

License 📜

This project is licensed under the MIT License. See the LICENSE file for more details . 📄

Contact 📧

For any queries or support, please contact us at [email protected] or [email protected]. We're here to help you!📬

Thank you for using LeetPath! Let's elevate your LeetCode experience together. 🚀💻