Personal reading log. Auto-refreshed daily from the Hardcover API.
Hardcover's GraphQL API prohibits browser-side calls, so all reading data is pulled at build time by a Node script, normalized, and written to a static JSON file shipped with the bundle. The frontend is vanilla TypeScript with zero runtime dependencies. GitHub Actions runs the full pipeline on a daily cron, so the site stays current without a server.
- Vanilla TypeScript + Vite
- Hardcover GraphQL (build-time only)
- GitHub Actions: scheduled rebuild + Pages deploy
- One typeface (Newsreader), no framework, no client-side network