Skip to main content

Feature: ISR and Caching

Purpose​

  • Feature name: ISR and caching
  • Why this feature exists: Keep project pages fast and fresh without full rebuilds.

Scope​

In scope​

  • ISR revalidation for project detail pages
  • cache-control headers for static routes

Out of scope​

  • bundle size monitoring
  • analytics and observability dashboards

Prereqs / Inputs​

  • project registry provides static params
  • cache headers configured in deployment

Procedure / Content​

Feature summary​

  • Feature name: ISR and caching
  • Feature group: Performance and observability
  • Technical summary: Uses revalidate on project detail pages and cache-control for static routes.
  • Low-tech summary: Pages load fast and update regularly without a full rebuild.

Feature in action​

  • Where to see it working: /projects/[slug] pages and cache headers on /.

Confirmation Process​

Manual​

  • Steps: Load a project page, inspect response headers for cache-control.
  • What to look for: max-age and stale-while-revalidate values set.
  • Artifacts or reports to inspect: Browser DevTools or curl -I output.

Tests​

Potential behavior if broken or misconfigured​

  • ISR disabled causing stale content.
  • Cache headers missing or inconsistent.

Long-term maintenance notes​

  • Revisit cache strategy after content volume changes.

Dependencies, libraries, tools​

  • Next.js App Router
  • Vercel caching

Source code references (GitHub URLs)​

ADRs​

  • None.

Runbooks​

Additional internal references​

Validation / Expected outcomes​

  • Project detail pages revalidate without full rebuilds.
  • Cache headers align with documented strategy.

Failure modes / Troubleshooting​

  • No revalidation: verify ISR configuration and build logs.

References​

  • None.