Best Practice - Vertical Scrolling Repeating Group Load?

Hey Bubble Community,

I have an in-house MVP I’ve built in the scheduling space called Instabook. We’ve been asked to build a bespoke implementation with certain associated design features. One of those is a custom-formatted dropdown for filtering by location.

I’ve currently set this up as a nested vertically scrolling repeating group that pulls locations. The client loves the bits of the platform they’ve tested so far, but are pushing back on the speed of the initial scroll on the dropdown (once all the choices are loaded, it scrolls exactly how it should).

My question is this: is there a better way to build this and/or a way to push all the data to that repeating group when the page loads so that it scrolls easily once it’s clicked?

Feel free to give it a try here:

Any advice would be hugely helpful. I’m also happy to pay for a bit of coaching on this if it helps me fix this one.

Thanks in advance and happy Bubbling to everybody.


Posting this here for the benefit of anyone with a similar question in the future. By testing different options, I’ve found a workaround to my own question that isn’t ideal from a long-term/system perspective, but is effective in increasing load speeds of repeating groups where the number of items in those groups are limited.

To the extent possible in your app, you could add the list of items in your repeating group as a field in the parent object. In my case, this meant adding the locations to the parent business as a Location field with multiple entries.

Once you’ve done that, you can set the data source to draw directly from the parent object rather than doing a search for that list with the parent as a constraint. This speeds up the scroll to a level that’s comparable with non-Bubble apps.

I believe that this will only work with lists up to 100 items long and won’t solve the broader issue of “Do a Search For” speed over time, but should allow you to display short-to-medium sized lists in repeating groups with far less lag.