How This App Stays Fast

This app demonstrates several modern React 19 and Next.js 15 techniques to maintain a smooth user experience even when loading large datasets:

  • React use() hook with Server Actions - Unwraps promises directly in components instead of awaiting at the page level, allowing the UI to start rendering before data is fully resolved
  • Strategic Suspense boundaries - Isolate loading states to specific components, preventing the entire page from being blocked during data fetching
  • React startTransition - Marks navigation updates as non-urgent, keeping the search field responsive during route changes
  • Selective blur overlay - Provides immediate visual feedback during transitions without blocking interaction with the search field
  • Memoized components - Prevents unnecessary re-renders of flight rows when only specific flights change during updates
  • Targeted data refreshing - Updates only flight information without triggering full page transitions or blurring the entire UI

Together, these techniques create a responsive interface that handles 1,000+ flight entries while maintaining instant feedback and smooth transitions—even when simulating network delays.