How this site works
videogamers.fyi uses AI to turn public data into structured game pages. This page explains exactly how that works, what the AI does and doesn't do, and the rules that keep the output honest.
The pipeline
Every game page is built by an automated pipeline that runs on Cloudflare Workers. The process:
- Fetch sources. For each game, the pipeline pulls data from public APIs and feeds — critic scores, community discussions, patch notes, player counts, compatibility reports. Each source is listed on the sources page.
- Generate sections. Source data is passed to a large
language model with a structured prompt and a strict output schema.
The summarization model is
DeepSeek V4 Flash,
with a layered safety net: if DeepSeek hits a rate limit, the pipeline
cascades to Meta Llama 3.3 70B (via
Cloudflare Workers AI,
then via Groq), and
finally Google's Gemini 2.5 Flash Lite as a last resort. The model
summarizes and organizes — it does not invent facts or opinions. The
"What they're asking" section additionally uses
xAI Grok with the
x_searchtool to pull recent X (Twitter) discussion before the summarization step. - Validate output. Every LLM response is validated against a typed schema before it's stored. If the output doesn't match the expected shape, the section is retried once; if it fails again, the section renders nothing rather than publishing bad data.
- Publish. Validated sections are cached, and the static site rebuilds automatically. Pages are plain HTML — no client-side JavaScript required to read them.
What refreshes and when
The pipeline runs every 6 hours. Not every section regenerates on every run — each section has a freshness window, and the pipeline only regenerates sections whose data has gone stale:
| Section | Refreshes | Why |
|---|---|---|
| What's Happening Now | Every 6 hours | Patch notes and news move fast |
| Community Pulse | Every 24 hours | Sentiment shifts over days, not hours |
| What they're asking | Every 12 hours | Decision-questions people are debating right now change fast — patch reactions, review waves, player-count shifts |
| Verdict | Every 7 days | Critic consensus is slow-moving |
| Guides & FAQ | Every 7 days | Guide content evolves with patches |
| Similar Games | Every 30 days | Genre relationships rarely change |
The "Updated X ago" timestamp on each game page reflects the most recent section regeneration, not the page's original publish date.
Quality rules
Cited, not invented
Every claim on a game page traces back to a source. If a Reddit thread is mentioned, the link goes to the thread. If a critic score is mentioned, the link goes to OpenCritic. The LLM is prompted to summarize source data, not generate original opinions. If a section has no usable source data, it renders nothing — empty beats filler.
Anti-slop vocabulary ban
A build-time check rejects output containing generic AI filler — vague superlatives, hype clichés, and review-speak that says nothing specific. The full ban list is maintained in the codebase and expanded as new patterns surface. The voice target is specific and concrete — patch numbers, boss names, dates, player counts — not adjective soup.
Schema validation
Every LLM response is validated against a typed schema (using Zod) before it's stored. Malformed output is retried once and then discarded. This prevents hallucinated JSON structures, missing required fields, or type mismatches from reaching the published site.
What the AI does not do
- It does not write reviews. The Verdict section aggregates existing critic scores and community sentiment. The one-sentence verdict is a summary of sources, not an original opinion.
- It does not invent facts. If the source data doesn't contain a patch date, the page doesn't show one. Missing data renders as absent, not fabricated.
- It does not choose which games to cover. Game selection is a manual editorial decision made by the site owner, not an automated process.
Questions or corrections
If something on the site is wrong or misleading, email [email protected]. Corrections are taken seriously.