streamlit-main-2026-05-06-23-05-93.webm
A game recommendation system built with Python and Streamlit that combines Collaborative Filtering and Content-Based Filtering to suggest Steam games tailored to individual users.
- Collaborative Filtering — Uses SVD (Singular Value Decomposition) via the
surpriselibrary to recommend games based on user behavior patterns. - Content-Based Filtering — Uses FAISS with genre, category, developer, and publisher features to find similar games.
- Steam API Integration — Fetches live game details, descriptions, and images directly from the Steam store.
- Streamlit UI — Clean, interactive interface for exploring personalized recommendations.
- Enter a numeric User ID to get personalized game recommendations.
- The collaborative filter predicts ratings for unplayed games based on similar users' behavior.
- For each recommended game, the content-based filter surfaces similar titles using game metadata.
- Game details and artwork are pulled in real-time from the Steam API.
steam_recommendations_system/
├── main.py # Streamlit app entry point
├── CollaborativeFiltering.py # SVD-based user-game recommendations
├── ContentBasedFiltering.py # FAISS-based similar game finder
├── data/
│ ├── steam-200k.csv # User behavior dataset
│ └── steam.csv # Game metadata dataset
pip install streamlit pandas scikit-learn faiss-cpu scikit-surprise requests html2text
streamlit run main.pyThe user behavior data used in this project is sourced from Kaggle.
Dataset shoutout: Stadia / Steam Recommendation Dataset by zhehaoliang on Kaggle. Many thanks for making this dataset publicly available!