{
  "id": 8604172,
  "title": "How I keep a game companion site from lying to its readers",
  "url": "https://urgent.news/2026/09/20/how-i-keep-a-game-companion-site-from-lying-to-its-readers",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-09-20T03:44:53.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/kathi_beitz/how-i-keep-a-game-companion-site-from-lying-to-its-readers-2jfl"
  },
  "original_language": "en",
  "account": "Game companion sites often struggle with accuracy. A build guide may be precise on Tuesday, but broken after a Friday patch. Without proper data validation, readers might notice mistakes only after the fact. In creating Lootr Tools, an unofficial Dungeon Lootr companion, I implemented a data pipeline to prevent such issues. Game facts belong in separate typed data modules, not inside JSX. Zod schemas validate objects at import time, enforcing rules like lowercase slugs, proper dates, and valid drop rates. Source references are part of the dataset model, allowing the UI to differentiate between official, community verified, conflicting, and unverified information. The data index checks for invalid relationships, such as missing entities or unsupported drop-rate claims. By adding a verifiedAt date to each entity, fans can see when data was last verified, ensuring the content is fresh and honest. Dynamic pages display the stored date rather than creating false freshness with new Date(). For fan sites, this model helps avoid presenting false authority when information is incomplete. Decision pages use deterministic, testable logic to provide clear recommendations. Tools like chanceAtLeastOneDrop, runsForTarget, and planFarm handle probability calculations outside React, making edge cases easier to test. This approach prevents the production site from publishing flawed content, improving overall reliability.",
  "summary": "Game companion sites have a trust problem. A build guide can be correct on Tuesday, broken by Friday's patch, and still look authoritative three weeks later. If the data lives directly in React components, nobody notices until a reader points out the wrong unlock requirement or an expired code. While building Lootr Tools , an unofficial Dungeon Lootr companion, I treated the content pipeline like…",
  "key_points": [],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}