Performance Optimization Testing Checklist

Slow apps lose users. AI-generated code often includes unoptimized images, unnecessary re-renders, and bloated bundles that make your app feel sluggish. This checklist helps you identify and fix the performance issues that drive users away.

Last updated: 2026-03-14

Page Load Performance

Largest Contentful Paint is under 2.5 seconds

Measure LCP on key pages using Lighthouse or PageSpeed Insights and optimize if it exceeds the threshold.

First Input Delay is under 100 milliseconds

Verify that the page responds to user interactions quickly after loading, without long JavaScript execution blocking input.

Cumulative Layout Shift is under 0.1

Check that page content does not shift around during loading, especially images, ads, and dynamically loaded elements.

Time to Interactive is under 3.8 seconds

Measure the time from navigation start until the page is fully interactive on a mid-range mobile device.

Asset Optimization

Images are properly compressed and sized

Verify that images are served in modern formats like WebP, are appropriately dimensioned, and use lazy loading.

JavaScript bundle size is minimized

Check the total JavaScript download size and verify that code splitting and tree shaking are working correctly.

CSS is not blocking rendering unnecessarily

Verify that critical CSS is inlined and non-critical CSS is loaded asynchronously.

Fonts are loaded efficiently

Check that web fonts use font-display swap, are subsetted to needed characters, and are preloaded.

Third-party scripts are loaded asynchronously

Verify that analytics, chat widgets, and other third-party scripts do not block page rendering.

Runtime Performance

Scrolling is smooth at 60fps

Scroll through long pages and lists while monitoring frame rate to catch any janky rendering.

Animations do not cause layout thrashing

Check that animations use transform and opacity rather than properties that trigger layout recalculations.

Lists and tables handle large datasets efficiently

Load pages with hundreds of items and verify the app remains responsive without freezing or excessive memory usage.

No memory leaks during extended usage

Navigate between pages repeatedly and monitor memory usage to verify it does not grow unbounded.

Network and Caching

API responses are cached appropriately

Verify that GET requests use proper cache headers and that stale data does not persist after mutations.

Static assets have long cache lifetimes

Check that CSS, JS, and image files have far-future cache expiry headers with content-based filenames for cache busting.

No unnecessary network requests on page load

Monitor the network tab and verify that every request on page load is necessary for the initial view.

API calls are batched where possible

Check that the app does not make dozens of individual API calls when a single batched request would suffice.

Frequently Asked Questions

What performance score should I aim for in Lighthouse?

Aim for a Lighthouse performance score of 90 or above on desktop and 70 or above on mobile. AI-generated apps typically score in the 40-60 range on mobile before optimization.

Which performance issues matter most for user experience?

Largest Contentful Paint and First Input Delay have the biggest impact on perceived performance. Users notice slow page loads and unresponsive interactions more than any other performance metric.

Let human testers run through this checklist for you

Submit your app and our testers will find the bugs you missed. Starting at €15 per test.

Related checklists