Skip to content
A tutorial steam video game recommender system based on Flask and gorse
Python HTML Awk Makefile Dockerfile CSS
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
config fix: set SQLALCHEMY_TRACK_MODIFICATIONS = False Jun 4, 2019
dataset add SQL parser and sampler Jun 2, 2019
steamlens fix: display nickname Jun 5, 2019
Dockerfile add docs Jun 2, 2019
LICENSE feat: add feedback update script Oct 27, 2019
requirements.txt add Dockerfile Jun 2, 2019 feat: add feedback update script Oct 27, 2019
uwsgi.ini fix: need larger buffer Jun 4, 2019



SteamLens is a tutorial steam video game recommender system based on Flask and gorse.


Download Source

First, clone the repo and enter the folder.

# Download source
git clone

# Enter source folder
cd SteamLens

Create database

It's a good idea to build recomender system based on existed dataset such as Steam Dataset. The original dataset is huge, we sampled 15000 users and it's available in games.csv.

# Download data

# Create data folder
mkdir data

# Create a database and import data
gorse import-feedback data/gorse.db games.csv --sep ','

Get Secret Key

To integrate with Steam, we need to apply a secret key from Steam and place it into config/steamlens.cfg.


Build & Run

Build the Docker image and run an instance. Remember to mount the data folder and expose the port of uWSGI.

# Build Docker image
docker build -t zhenghaoz/steamlens .

# Run an instance
docker run -d -v $(pwd)/data:/root/data \
    -p 5000:5000 \
    -p 8080:8080 \

Pass via Nginx

Set uwsgi_pass in Nginx.

location / {
    include uwsgi_params;

Update Feedback

The dataset used by SteamLens is quite old but could be update by running:


The XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX represents the secret key. Since most users' owned games are invisible, only few feedback are retrieved.

You can’t perform that action at this time.