Events
Events has two parts: seasonal challenges, which are computed from your library, and a release-day tracker for games you are waiting on. Both depend on being honest about data.
Seasonal challenges
A challenge is a goal such as "beat three RPGs in October". The team writes each one by hand, and there is no creation screen for users.
Progress comes from your library. A game counts when it is marked beaten, it was finished inside the challenge's dates, and its genres overlap the challenge's. Nothing is tracked separately: the challenge only reads what your library already says.
Getting that right meant fixing a small inconsistency. Some games had a finish date while their status was not "beaten". A database trigger now keeps the two in step: moving a game to beaten sets the finish date, and moving it off clears it.
Each challenge is upcoming, active or ended, and that is worked out on the server.
Release-day tracker
Watch an upcoming game and you see how many people are watching it. On the day it comes out, you get a notification.
The date problem
The obvious design is to store a release date and send an alert on it. It does not work, because release dates in games data are often placeholders. A game due "sometime in 2027" is stored as a real date, such as 31 December, with nothing marking it as a guess.
Measured against the catalog in September 2026, of about 3,700 upcoming games:
| Precision | Share |
|---|---|
| Not a real day (month, quarter or year) | About 83% |
| An announced day | About 17% |
A "release day" alert built on the raw date would have fired on a date nobody announced for roughly four games in five.
So every date now carries a precision: day, month, quarter or year. Only day-precise dates count down or fire alerts. The rest are shown as what they are, such as "Q4 2026".
How the alert is sent
A scheduled release sweep finds games whose announced release day has arrived and writes a notification for everyone watching. Delivery is a separate step, so a push outage only delays it. The sweep looks back a couple of days, so a missed run is picked up on the next one, and a unique constraint guarantees one alert per watcher per game.
Limits
The tracker is for games you watch. It is not a browse feed of everything releasing soon, because nothing upcoming has ratings to rank by, and a date-sorted list would open on obscure titles.