In France, a PS Plus Premium subscription unlocks 628 games. On playstation.com, the list is sorted alphabetically, with a cover and a title. No rating, no length, nothing to tell you what is worth your time. I simply wanted to know what to play, and the only way to find out was to look the games up one by one.
On 30 August, I started WhatToPlay. The idea fits in one sentence: the whole PS Plus catalogue, ranked by quality, to find what to launch right now.

What the site does
You open whattoplay.games and see your country’s catalogue sorted by critic score. Each row shows the Metacritic score, the player rating on the PlayStation Store, the year, the genre and three play times: main story, main story plus extras, and 100% completion.
One click filters for the questions people actually ask:
- Gems: games rated 90 or more by critics.
- Short: games whose main story takes less than 15 hours.
- Monthly free: the games offered each month to Essential subscribers, with their history.
- Leaving soon: the ones about to leave the catalogue, so you can play them before they go.
- Coming soon: the ones announced but not yet available.
You can also sort by the gap between critics and players. It is my favourite sort. It surfaces games critics loved and players shrugged at, and the other way round.
Every game has its own page, with a description, its ratings, its play times and similar games. An article comes out every day about one game in the catalogue, with an RSS feed and a Bluesky account that shares it. The site is free, with no ads and no trackers.
Where the data comes from
This is where the real work is. Nobody publishes the PS Plus catalogue with ratings. You have to rebuild it.
The catalogue. Before writing a line, I looked at how the public list on playstation.com was filled. It calls an endpoint that returns a country’s entire catalogue: identifiers, covers, platforms. Everything rests on it. It answers for 44 countries. The catalogue is not the same everywhere, because of distribution rights: 628 games in France, 792 distinct games across all countries.
Critic scores. Metacritic offers no open access. The score arrives by three routes, RAWG, Steam and Wikipedia, with IGDB as a complement. In France, 490 games out of 628 have a critic score. The others show a dash, and the site’s help says so plainly: a dash means “no data found”, never “bad game”.
Player ratings. These are the PlayStation Store stars, given by buyers. 627 games out of 628 have one.
The rest. Play times come from HowLongToBeat. Monthly departures come from PlayStation LifeStyle articles, announcements from the PlayStation Blog, and the history of monthly games from the PlayStation Wiki.
The hardest part is not collecting. It is recognising the same game from one source to the next. “Game name”, “Game name™” and “Game name Remastered” are sometimes the same game, sometimes not. I told part of that story in entry 011, and more will follow.
How it is built
The architecture is deliberately simple, so that one person can run it.
A static site, no framework. HTML, CSS and JavaScript, served as they are. No React, no build step. The site even opens by double-clicking the file.
A daily collection run in GitHub Actions. Every day at 05:17 UTC, a Node script goes through the 44 countries, queries the sources and updates ratings and play times. It also generates the game pages, the articles, the sitemaps and the sharing images. In total, nearly sixteen thousand static pages and nine hundred covers hosted on the site.
The data lives in the Git repository. The result is committed every day. That gives me the history of games entering and leaving the catalogue without a database, and a rollback is one command. Vercel sees the commit and redeploys the site on its own.
Safety nets. If a source goes down, it is dropped for the day without blocking the others. If a country’s catalogue suddenly arrives with 30% fewer games, the script refuses to write it. A report of each run lands in a GitHub issue.
Choosing Actions over a scheduled task at the host is deliberate. Vercel’s free plan caps execution time, and 44 countries times several hundred games do not fit. It would also have needed a database to store the result. With Git, there is nothing more to manage.
How I made it
Alone, in the evenings, with Claude Code. In five weeks: 176 commits and 54 pull requests, one per topic. The site went from France alone to 10 countries on 13 September, then to 44 countries and 19 languages on the 16th.
The tool writes the collection code, the pages and the styles quickly and well. What it does not do is decide. Which game is the same as another. Which threshold turns a score green. Which source to believe when three disagree. What to show when you do not know. Those are hundreds of small decisions, and that is where I spent most of my time.
I also had to learn to doubt the numbers. Several failures in this project were silent: a source returning zero results without an error, a Store section that did not contain what its name suggested. The next journal entries tell a few of them.
What I take from it
I use WhatToPlay almost every evening. It is the best test I know. Flaws I would never have spotted by reading the code jump out when I am simply looking for something to play.
And the project confirmed something I suspected. Code is no longer the longest part. The long part is knowing what you want to show, where the numbers come from, and what you do when they are missing.
Six hundred games in alphabetical order is a catalogue. The same games ranked by rating, with their length, is an answer to “what do I launch tonight?”.
Get the journal by email
About one entry a week. What I build, what breaks, what I learn. No promotion, one-click unsubscribe.
You can also follow the RSS feed.