SPA loads in 10 seconds, still too slow - how to improve?

Even when using fuzzy search, you should create a condition on the data source so that the search only runs when it’s actually needed. Simply hiding the element does not prevent Bubble from executing the search, so this can indeed impact loading.

Regarding the popup, I would recommend keeping it outside the reusable. You can trigger the popup and pass the selected item’s data using custom states on the page (or Toolbox, if you prefer). This way, you avoid having Do when condition is true inside a repeating group, which usually doesn’t scale well and ends up hurting performance.

I also wouldn’t say that these two are necessarily the biggest problems. I think there’s more to investigate—there’s definitely something you haven’t seen yet—but if you dig carefully, a small detail can significantly improve performance.

I would also recommend trying to uninstall some plugins. In SPAs, all plugins are loaded at startup, so having many of them can weigh down the initial load. Several of these can be replaced by Toolbox itself, such as base64, copy content, and JSON manipulation.

I don’t know exactly how your app is built, so I can’t say precisely which plugins to remove, but usually, when you review things calmly, you can always eliminate a few.

Also, I noticed you’re using the Audio Recorder Pausable from Knowcode, which is a paid plugin. You don’t need that :grinning_face_with_smiling_eyes: you can use mine instead—it’s fully customized, lightweight, and free: