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.