Files
2026-07-16 13:24:19 +01:00

3.9 KiB

Steam Backlog Helper

Steam Backlog Helper is a desktop app for choosing what to play next from a large Steam library.

Connect a Steam profile, import the owned games list, set a few preferences, then spin the wheel for a recommendation. The app is intended for people with enough Steam games that picking one has become its own chore.

What It Does

  • Imports your Steam library using your Steam profile and Steam Web API key.
  • Shows a large recommendation wheel using Steam game artwork.
  • Picks from your imported library with either weighted recommendations or true random mode.
  • Lets you adjust hard eligibility filters, such as whether to include unplayed or already-played games.
  • Lets you set preference weights for reviews, single-player/multiplayer, genre or Steam tags, and playtime.
  • Builds a shortlist of top candidate games.
  • Opens a separate debug window so you can inspect why a game was picked.

Current State

  • First-run setup wizard.
  • Local settings storage.
  • Steam owned-games import.
  • Recommendation wheel.
  • Shortlist view.
  • Settings modal.
  • Separate debug diagnostics window.
  • Background metadata enrichment for reviews, tags, genres, categories, and play mode where available.

Still evolving:

  • Metadata caching in SQLite.
  • Faster and more reliable Steam Store enrichment for very large libraries.
  • Better exclusion of non-game Steam apps once metadata caching is in place.
  • Launching selected games directly through Steam.
  • Completion-time integration.
  • Release automation for all platforms.

Requirements

You need:

  • A Steam account with public or API-accessible game details.
  • A Steam Web API key.
  • Node.js and npm for local development.
  • Rust/Cargo to build the Tauri desktop app.

The app does not ask for your Steam password.

Running Locally

Install dependencies first:

npm install

Run validation:

npm run local:check

Start the desktop app:

npm run local:dev

Build a local desktop release:

npm run local:build

Builds are written under:

src-tauri/target/release/

Setup Flow

On first run, the app asks for:

  • Steam profile, vanity URL, profile URL, or Steam ID.
  • Steam Web API key.
  • Optional time-to-beat provider placeholder.
  • Default session length.
  • Random mode preference.

Settings can be changed later from the cog button in the top bar.

Recommendations

The picker separates two kinds of filters:

  • Eligibility filters remove games from the candidate pool.
  • Preferred filters change weighting without removing games.

Preferred filters currently include:

  • Review signal.
  • Single-player or multiplayer/co-op preference.
  • Genre and Steam tag preference.
  • Playtime preference.

True random mode bypasses weighting and chooses from the eligible pool.

Debug Window

The Settings screen includes an Open Debug Window button. This opens a second desktop window that shows:

  • Current pick.
  • Active restrictions.
  • Score contributions.
  • Review data.
  • Genres.
  • Steam tags.
  • Categories.
  • Play mode metadata.
  • Candidate scores.

This is useful while tuning the recommendation logic.

Data And Privacy

Steam Backlog Helper is local-first.

  • Settings are stored locally.
  • The Steam API key is currently stored locally in SQLite during early development.
  • The app contacts Steam APIs and public Steam Store pages to import and enrich library data.
  • Library data is not sent to an app-owned server.

Before a public release, API key storage should move to OS-protected credential storage.

Documentation

Project planning lives in: