Urgent.News

650+ sources. One page. See who else covered it.

Editions

Tech

Building a Static Encyclopedia with 1,000+ Entries, 8 Languages, and Zero Backend

TL;DR I built a full-featured encyclopedia web app with 1,025 entries , 8 languages , and sub-second load times — all without a traditional backend. The trick? Mirror a public REST API as static JSON files at build time, deploy to Cloudflare Pages, and let the CDN do the heavy lifting. Stack: Next.js 15 · TypeScript · Tailwind CSS · next-intl · Cloudflare Pages The Problem I wanted to build a…

I crafted a full-featured encyclopedia web app with 1,025 entries, 8 languages, and sub-second load times - all without relying on traditional backend infrastructure. The secret lies in mirroring a public REST API as static JSON files during the build process, deploying to Cloudflare Pages, and relying on the CDN for performance. The technology stack consists of Next.js 15, TypeScript, Tailwind CSS, next-intl, and Cloudflare Pages.

The main challenge was providing users with fast browsing, filtering, and searching capabilities for a large dataset that was publicly available via a REST API. Hitting the API on every request would have been slow and rate-limited, while using a traditional backend felt excessive for essentially static data. Multilingual support was also crucial due to the global audience.

The solution was to fetch the data once during the build process and serve it as static JSON files. This approach eliminated the need for runtime API calls, databases, and cold starts. The main page displays all 1,025 entries in a filterable grid, allowing users to sort by generation (9 options), type (18 options), base stat total range, legendary status, shiny mode, and text search.

To prevent the browser from freezing when loading all entries at once, the app employs batch loading with progressive rendering. It loads entries in batches of 50 using the `useEffect` hook and renders more cards as the user scrolls via Intersection Observer. The data is stored in a cache and fetched from the JSON mirror at build time, enabling fast and efficient browsing of the encyclopedia website.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

How I build a Next.js Tailwind marketing site in hours, not days

Getting a marketing page from blank canvas to production-ready in a single working day is repeatable once you have the right setup.

  • Setup Next.js with Turbopack for fast HMR
  • Use design tokens in app/globals.css for consistent styling
  • Streamline page build with component conventions and next/image

More from Sunday 16 August →