SteamSifter

About SteamSifter

Daniel Yoo, 4th Year Computer Science Student currently enrolled at the University of Texas at Dallas.

GitHub repo Steam profile

The Problem

Steam games can collect up to thousands of reviews, mixing genuine bug reports, feature praise, jokes, off-topic rants, and review-bombing. Reading all of that manually to answer "What should we fix?" and "What do our players want more of?" is a slow and inconsistent task.

SteamSifter takes a game, pulls its reviews automatically, filters the noise, and returns two ranked dashboards: issues to fix (by impact) and praised features to double down on (by frequency and sentiment).

How It Works

  1. Search and ingest: resolves a game name to its Steam app ID and pulls the most recent reviews (up to a few thousand) from Steam's free public API, each with its recommend flag, helpful votes, playtime, language, and date.
  2. Filter for signal: a relevance classifier separates constructive feedback from off-topic noise, jokes, and review-bomb spam.
  3. Classify: each review is tagged with sentiment and a category (bug, performance, gameplay, cheating, monetization, UI/UX, content, community, praise). This runs on fast local models distilled from the LLM (logistic regression over embeddings), with an LLM fallback for uncertain cases, and keeps growing its own training set in the background for future retraining.
  4. Theme: reviews are grouped into specific, named themes for each side, by an LLM pass for small sets or by embeddings + k-means clustering at scale, with all clusters named in one batched call and the two sides themed concurrently.
  5. Route and rank: each review lands on the Issues or Praise side by the player's recommend vote first, refined by sentiment; themes are then ranked by frequency plus behavioral weight, so issues raised by long-playtime, highly-upvoted reviewers rank above low-effort rage reviews.
  6. Present: a two-column dashboard, a full-width scoreboard, the sentiment donut and sentiment-over-time trend side by side, and Issues / Praise theme cards in two columns with clickable example quotes (each showing the reviewer's avatar and name plus an English translation for non-English reviews, excerpted at the theme-relevant part of long reviews). Every report also offers live filters (recommendation, playtime, language), a print / save-as-PDF export, and a rich link-preview card when shared.

"Impact" is an inferred heuristic (frequency, sentiment, playtime, helpful-votes), not ground truth. It is presented as an informed estimate.

Tech Stack

Current Limitations

SteamSifter is deployed and open to anyone, but it is a solo project tuned for light traffic: a single worker on a free Render instance sharing one AI key. Classification runs on distilled local models, so it no longer dominates the wait; analyses often finish in well under a minute at typical volumes and stay bounded into the low minutes at several thousand reviews, capped mainly by the OpenAI tier's throughput and the free instance's memory. Results are cached so popular titles are only re-analyzed when their reviews grow, and the code is multi-worker ready, so scaling out is mostly a matter of paid hosting rather than a rewrite.

As of July 2026, SteamSifter runs on the OpenAI API (gpt-4.1-mini) with distilled scikit-learn classifiers, and can switch to free-tier Gemini when needed.