Skip to content

Recommendation System

Playlite uses a hybrid recommendation system, combining information from the user's own library with global game consumption patterns, while always respecting the local-first and privacy-first philosophy.

No personal user data is sent to external servers. All processing happens locally in the app or is precomputed offline.

Overview of the Approach

The system combines two complementary strategies:

  1. Content-Based Filtering
  2. Offline Collaborative Filtering

These approaches are combined to generate relevant, stable, and explainable recommendations.

1. Content-Based Filtering

Content-based filtering analyzes only the user's library to build a Preference Profile.

It considers explicit and implicit signals such as:

  • Games marked as favorites
  • Personal ratings (1–5 stars)
  • Playtime
  • Genres, tags, and series associated with the games

These signals are converted into preference vectors that represent the user's taste.

Local Scoring

Each game in the library receives a relevance weight based on simple and explainable heuristics:

  • Favorites have a high weight
  • Ratings influence the score moderately
  • Playtime contributes as a complementary factor

Unplayed games or games without ratings do not distort the profile.

2. Offline Collaborative Filtering

Collaborative filtering is based on global consumption patterns extracted from public game rating datasets.

Characteristics

  • Offline processing, outside the app
  • Based on ~25 million interactions processed from public Steam datasets
  • Uses implicit feedback (positive ratings filtered by playtime)
  • Similarity is calculated between games, not between users

The result is a set of relationships such as:

"Players who liked X also liked Y"

This data is exported to a JSON file and distributed with the app.

3. Combining the Strategies (Hybrid Model)

During recommendation, Playlite combines the two signals:

  • The user profile determines which games in the library are the best representation of the user's taste
  • Collaborative filtering suggests games similar to those titles

In simplified form:

text
final_score =
   α * content_based_score +
   β * collaborative_score

Where α and β are adjustable weights.

4. Business Rules

After the mathematical scoring, additional rules ensure a better experience:

  • Penalty for excessively popular games
  • Genre and style diversity
  • Removal of repetitive suggestions

5. Explainability

Recommendations are accompanied by deterministic explanations based on structured data:

  • Shared genres
  • Relevant tags
  • Favorite series

This ensures transparency and removes the need for LLMs to explain recommendations.

Benefits of the Approach

  • Works 100% offline
  • Preserves user privacy
  • Scales well for large libraries
  • Easy to maintain and evolve
  • Suitable for a local-first desktop app

This system was designed to balance recommendation quality, technical simplicity, and user control.