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.