We performance-audit a lot of Bubble apps, and the pattern barely varies. Most of what makes a Bubble app feel slow is fixable inside Bubble, in an afternoon, by the person who built it. A smaller portion is the platform's runtime and no amount of work will move it.
Knowing which is which matters, because teams routinely spend weeks optimising against a ceiling they were already touching, and other teams migrate off Bubble when their real problem was four uncompressed hero images.
The four things you can fix yourself
1. Plugins you are not using
This is the biggest single lever and almost every app we audit has it. Every installed plugin contributes to the bundle on every page, whether or not that page uses it. A plugin you installed to try once and never removed is still being downloaded by every visitor to every page.
Open the Plugins tab and uninstall anything you are not actively using somewhere in the app. Teams commonly find five or more dead plugins, and removing them is the fastest measurable win available.
2. Images at upload resolution
Bubble stores what you give it. A 4MB photo straight off a phone stays a 4MB photo, and it is being sent to every visitor including the ones on mobile data.
- Go to Data, then File Manager, and look at the file sizes.
- Resize anything above roughly 200KB for hero images, less for thumbnails.
- Turn on Settings, then Files, then 'Compress uploaded images' so it stops happening again.
3. Searches doing more work than they need
The common pattern is a search that returns everything and then filters client-side, usually with :filtered applied to a large list. The constraint belongs inside the search, where Bubble can use an index, rather than after it, where your users' browsers do the work.
Repeating groups that load an entire dataset instead of paginating are the same problem wearing a different hat.
4. Workflow chains firing on page load
Anything running on page load delays the moment your app becomes usable. Plenty of it does not need to run then. Move what you can to trigger on demand, when the user actually does the thing that needs it.
The three things you cannot fix
These are not criticisms of Bubble. They are the cost of the thing that made Bubble fast to build in, and every platform in this category trades the same way.
- 1The Bubble engine has to download and boot before your app can paint anything. That is a fixed cost on every page load, and there is no setting that removes it.
- 2jQuery and the plugin loader come along regardless of whether your app needs them.
- 3The query layer is generic by design, so it cannot be tuned the way a hand-written query against your own schema can be.
Realistically, a well-optimised non-trivial Bubble app tops out around 60 on mobile PageSpeed. Simple single-page apps can beat that; anything with real data and real workflows generally does not.
How to tell which situation you are in
Run your app through Google PageSpeed Insights and look at the score. If you are in the 20s or 30s, the majority of that gap is yours to close, and the four fixes above will move it meaningfully. If you are at 55 or 58, you are already near the ceiling and further optimisation work will return very little.
We built a free checker that does this split automatically: it runs PageSpeed on your URL and sorts every finding into things you can fix on Bubble, with specific instructions, and things that are Bubble's runtime. It requires no email and it will tell you to leave your app alone if the numbers say so.
Try it at yonocode.io/performance-checker — free, no signup, shareable results.
When the ceiling actually matters
For most Bubble apps, it does not. If you are serving a few thousand users and your revenue is not gated on load time, fix your plugins and images and go build features. That is the honest answer and it is the one we give most often.
The ceiling becomes the binding constraint in three situations: consumer products where conversion is measurably speed-sensitive, apps hitting workflow timeouts under real load, and companies facing a compliance requirement that a no-code platform cannot satisfy on its own. If you are in one of those, the conversation changes from optimisation to migration.
Until then, Bubble is doing exactly what it is good at, and the four fixes above will get you most of what is available.