could you not just have a condition on the repeating group to have a different data source if the user is a student/admin/teacher?

eg: if current user role is Admin
data source: Do a search for posts (all)

I’m pretty sure the discourse over popup vs floating group is due to what gets loaded when. I’ve understood it as data in a popup won’t get loaded unless the popup is opened or another element references one of the variable RGs/Groups inside it, whereas a hidden floating group (floating under the page) loads all data immediately and you can also put plugin elements in there.

If you’re getting slow load times, I’d take a look if you’re chaining together RGs within these hidden popups, if the data source for a visible repeating group (say ‘Posts’) has a data source of ‘RG var 1’, which gets it’s data from ‘RG var 2’, which in turn gets it from another etc it can slow things, idk if it works this way on yours but I see this fairly commonly.

Other people may offer more info about bubble’s page loading, but I don’t think the raw number of popups on the page should actually really affect loading time, because they’re only loaded when they need to be, (unless they’re all being loaded immediately through some kind of workflow). Why your app might be sluggish probably depends on what exactly is being slow, is it page load or repeating groups loading etc, advanced filters are a common culprit too. Hope this at least helps a little! Optimising can be a pain haha.