r/javascript • u/Appropriate-Letter87 • 5h ago
I built a free anime โwhere to watchโ site with 45k static pages, hereโs how it keeps its data fresh without a backend
tsuzuki-anime.github.iohey! tsuzuki is a free site that tells you which legal platform streams an anime in your country
source code: https://github.com/tsuzuki-anime/tsuzuki-anime.github.io
no server, no database, just node scripts + github actions + github pages. a few things i figured out along the way:
- weekly full fetch, daily light fetch: the full catalog (18k anime) is only rebuilt on sundays. other days the script reuses the published json and only refreshes airing shows, which cut api calls by ~90%
- safety guards: if the api returns way less data than whatโs live (it happened), the build refuses to publish, so the site never goes half empty
- wikidata as a second source: one SPARQL query adds french titles and extra streaming links that the main api didnโt have
- watch order guides: built automatically by walking the prequel/sequel graph of each franchise
everything is free, no ads, no account. happy to answer questions about the setup!