How Fast Does My App Actually Need to Be Before I Launch to Real Users?
6 min read
You do not need Google-level speed for a beta. As a working target: your main page should become usable within about 3 seconds on a normal connection, and every button or action should respond in under 1 second. Hit those two numbers and you are fast enough to put your app in front of real users. Below is what those targets mean in practice, and which kind of slowness actually costs you people.
Why "fast enough" is the right question
An AI agent builds what you asked for, so it makes the feature work. It does not optimise for a stranger on hotel wifi opening your app for the first time, because you never asked it to, and on your laptop everything felt instant. That is the gap. "It's fast on my machine" is not a performance test, it is a description of your machine.
So the goal for a beta is not a perfect score. It is removing the delays a real person will notice and hold against you. There are two of those:
- First load: how long from clicking your link to seeing something they can read and use.
- Interaction: how long after they click a button before the app reacts.
Everything else can wait until you have users telling you what is slow.
The targets that matter for a beta
- First meaningful content: under 2.5 seconds. Users start abandoning around the 3-second mark, and it gets worse fast after that.
- Button and form responses: under 1 second. Anything longer feels broken, even when it is working.
- Any action over 1 second: show a spinner or a loading state. A slow action with feedback is tolerable. A frozen screen with no feedback is not.
These are launch targets, not final ones. You are aiming for "nobody notices the speed," not "fastest in the category."
How to check
- Open your app on your phone, on mobile data, not your home wifi. This alone surfaces most real-world slowness.
- Run a free test at PageSpeed Insights (pagespeed.web.dev) or WebPageTest. Read the "Largest Contentful Paint" number. Under 2.5s is good, 2.5 to 4s needs attention, over 4s will lose users.
- In Chrome, open DevTools, go to the Network tab, and use the throttling dropdown to select "Slow 4G." Reload. This simulates a normal phone. Watch how long the screen stays blank.
- Click through your core flow and count seconds out loud after each button. Anything past "one-thousand-one" is a delay users will feel.
The fix, in priority order
- Fix the images first. Oversized images are the single most common cause of slow vibe-coded pages. See optimising huge images.
- Fix slow actions users trigger often. If saving or searching takes over a second, that is usually a database query missing an index, covered in why your Supabase query is slow.
- Add loading states everywhere an action can take a moment. A spinner does not make the app faster, but it makes it feel responsive and stops users clicking twice.
- Retest on throttled mobile. Confirm the numbers moved. If first content is under 2.5s and actions are under 1s, stop. You are done for beta.
The trap to avoid
Do not disappear for two weeks chasing a perfect Lighthouse score of 100 before launch. Past "good enough," speed work has sharply diminishing returns, and you are optimising against guesses instead of real users. A beta that ships at 90 and learns from actual traffic beats a "perfect" app that never launches. Fix the delays a person will genuinely notice, then get it in front of people.
Where this fits
Speed is one of the first impressions a real user forms, and it is easy to misjudge from your own fast laptop and fast connection, which is exactly the problem covered in why your app is fast for you but slow for users. The free Readiness Report measures your real load times and flags the ones that will cost you users before you launch. If you would rather have the slow spots found and fixed in priority order, that is what the Finishing Pass is for.