{
  "id": 10279145,
  "title": "160 browser-only tools later: the engineering decisions that actually mattered",
  "url": "https://urgent.news/2026/09/27/160-browser-only-tools-later-the-engineering-decisions-that-actually",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-09-27T19:14:29.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/4min/160-browser-only-tools-later-the-engineering-decisions-that-actually-mattered-34k6"
  },
  "original_language": "en",
  "account": "This account delves into the engineering decisions that significantly impacted the development of a browser-only tools website. The core choices include using Next.js 14 App Router, TypeScript, and Tailwind, resulting in a single-client component architecture without a backend. The site features 399 static pages in English and Turkish, with a unique bilingual approach that avoids duplicate routes. All path builders are consolidated in a single paths.ts module, ensuring that every tool page has corresponding English and Turkish versions. The implementation of hreflang and canonical tags on each page helps maintain language consistency. The site's sitemap is dynamically generated from route data, ensuring up-to-date indexing without a separate build process. The deployment target enforces a specific TypeScript output setting, preventing future compatibility issues. The use of a registry consistency check ensures that the tool list, component map, and icon map remain synchronized, catching build errors early. Staying backend-free offers several advantages, such as eliminating server logs, retention policies, and analytics debates. The resulting website is fully functional on any connection, even with poor or no internet access, as the logic resides entirely in the front-end JavaScript. For developers interested in replicating a similar collection, the key takeaways are a dynamic sitemap generated from route data, a single path module, and a registry consistency check.",
  "summary": "My last post was the tour — the tools, the categories, why everything runs in your browser. This one is the sticky stuff: the decisions that cost me the most time, so you can skip them. Stack in one sentence. Next.js 14 App Router, TypeScript, Tailwind. Every tool is a client component, there is no backend, and the whole site is pre-rendered at build time — 399 static pages today (160 tools in EN…",
  "key_points": [
    "Engineering decisions include Next.js 14 App Router, TypeScript, and Tailwind",
    "Site features 399 static pages in English and Turkish with bilingual approach",
    "Registry consistency check ensures tool list, component map, and icon map synchronization"
  ],
  "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."
}