Load a succession of objects

Hi

Let’s say I have a collection with 100 documents.

What would be the best way to pick up one randomly, and when the user clicks, another one is picked and displayed? (tinder cards for example)

I guess it is not optimal to run a new query each time. Should it pre-load them 10 by 10 in an array?

Then when I need to refresh, should I just refresh the template to display the last result?

Thanks

Michael